站長資訊網
        最全最豐富的資訊網站

        Spring Boot怎么實現熱部署

        Spring Boot怎么實現熱部署

        Spring Boot怎么實現熱部署

        在Spring Boot實現代碼熱部署是一件很簡單的事情,代碼的修改可以自動部署并重新熱啟動項目。

        1、引用devtools依賴

        <dependency>     <groupId>org.springframework.boot</groupId>     <artifactId>spring-boot-devtools</artifactId>     <optional>true</optional> </dependency>

        這樣,當修改一個java類時就會熱更新。

        2、自定義配置熱部署

        以下配置用于自定義配置熱部署,可以不設置。

        # 熱部署開關,false即不啟用熱部署 spring.devtools.restart.enabled: true # 指定熱部署的目錄 #spring.devtools.restart.additional-paths: src/main/java # 指定目錄不更新 spring.devtools.restart.exclude: test/**

        3、Intellij Idea修改

        如果是idea,需要改以下兩個地方:

        1、勾上自動編譯或者手動重新編譯

        File > Settings > Compiler-Build Project automatically

        2、注冊

        ctrl + shift + alt + / > Registry > 勾選Compiler autoMake allow when app running

        注意事項

        1、生產環境devtools將被禁用,如java -jar方式或者自定義的類加載器等都會識別為生產環境。

        2、打包應用默認不會包含devtools,除非你禁用SpringBoot Maven插件的excludeDevtools屬性。

        3、Thymeleaf無需配置spring.thymeleaf.cache: false,devtools默認會自動設置,點擊參考完整屬性。

        下面是devtools自動配置的部分源碼:

        @Order(Ordered.LOWEST_PRECEDENCE) public class DevToolsPropertyDefaultsPostProcessor implements EnvironmentPostProcessor {     private static final Map<String, Object> PROPERTIES;     static {         Map<String, Object> properties = new HashMap<String, Object>();         properties.put("spring.thymeleaf.cache", "false");         properties.put("spring.freemarker.cache", "false");         properties.put("spring.groovy.template.cache", "false");         properties.put("spring.mustache.cache", "false");         properties.put("server.session.persistent", "true");         properties.put("spring.h2.console.enabled", "true");         properties.put("spring.resources.cache-period", "0");         properties.put("spring.resources.chain.cache", "false");         properties.put("spring.template.provider.cache", "false");         properties.put("spring.mvc.log-resolved-exception", "true");         properties.put("server.jsp-servlet.init-parameters.development", "true");         PROPERTIES = Collections.unmodifiableMap(properties);     }

        4、devtools會在windows資源管理器占用java進程,在開發工具里面殺不掉,只能手動kill掉,不然重啟會選成端口重復綁定報錯。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品视频久久久久| 十八18禁国产精品www| 亚洲国产精品无码av| 99热成人精品免费久久| 久久99精品久久久久久久不卡| 久久久久久亚洲精品不卡| 国产精品小黄鸭一区二区三区| 永久无码精品三区在线4| 精品国产亚洲一区二区在线观看 | 精品久久久久中文字| 久久青青草原国产精品免费| 久久亚洲欧美国产精品| 日韩精品一区二区三区视频| 国产精品欧美亚洲韩国日本久久 | 亚洲日韩精品一区二区三区无码| 精品一区二区三区四区在线| 成人精品一区二区久久久| 久久久久四虎国产精品| 国产精品免费观看| 国产成人精品视频一区二区不卡| 人妻精品久久无码区| 最新国产精品拍自在线播放| 欧美日韩精品一区二区三区不卡 | 亚洲AV无码乱码精品国产| 久久成人国产精品一区二区| 国产精品亚洲欧美大片在线看| 午夜精品福利视频| 亚洲嫩草影院久久精品| 国产精品视频分类一区| 精品999在线| 久久国产精品久久久| 国产亚洲婷婷香蕉久久精品| 精品乱人伦一区二区三区| 国产精品专区第二| 欧美精品香蕉在线观看网| 成人国产精品秘 果冻传媒在线| 国产成人99久久亚洲综合精品| 国产精品视频九九九| 久久激情亚洲精品无码?V| 日韩一区二区精品观看| 中文字幕无码精品三级在线电影 |