開發中,每次對類的修改,都需要重啟服務,很浪費時間,影響效率。下面介紹一種springboot熱部署的方法。
1、在Maven的pom.xml檔案中新增依賴
<!-- 熱部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!-- optional=true,依賴不會往下傳遞,如果有專案依賴本專案,並且想要使用devtools,需要重新引入 --> <optional>true</optional> <scope>true</scope> </dependency>
2、繼續在Maven的pom.xml檔案中新增外掛的配置
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork><!-- 如果沒有該配置,熱部署的devtools不生效 --> </configuration> </plugin> <!-- 自定義配置spring Boot使用的JDK版本 --> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
如果是Eclipse,配置到這裡,只要重啟服務,熱部署就會生效了。
但是IDEA的話,熱部署還不會生效,因為devTools只會在類路徑上的檔案發生更改時才會自動重啟,而IDEA預設不會自動編譯。
解決方法有兩種:
1、手動:修改完程式碼,按快捷鍵Ctrl+F9,手動構建專案,或者只修改單個類檔案的話,按Ctrl+Shift+F9,重新編譯該類檔案,即可觸發重啟服務。
2、自動:
1)File -> Settings -> Compiler,勾選 Build Project automatically
2)按快捷鍵Ctrl+Shift+Alt+/,選擇1.Registry...
3)勾選 compiler.automake.allow.when.app.running 即可
最後再推薦一篇介紹DevTools的博文,https://blog.csdn.net/isea533/article/details/70495714