下面我將介紹使用maven構建的SpringBoot項目中實現熱部署的兩種方式,使得部署變得異常簡單,同時兩種方式也非常的簡單。
熱部署
devtools
Pom.xml中直接添加依賴即可:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>provided</scope> <!--optional我沒弄明白,都說必須為true,但我測試true,false,不加都可以--> <optional>true</optional> </dependency>
通過項目主程序入口啟動即可,改動以后重新編譯就好。
springloaded
Pom.xml中直接在spring-boot插件中添加依賴即可:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <!-- spring熱部署 --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.6.RELEASE</version> </dependency> </dependencies> <configuration> <mainClass>cn.springboot.Mainspringboot</mainClass> </configuration> </plugin>
運行:
$ mvn clean spring-boot:run
改動后,編譯即可實現熱部署
結束語
這兩種方式其實都是spring官網為了spring項目所推出的jar包,加之springBoot框架內嵌服務器的優勢,使得改動后的項目部署變得非常簡單;當我使用以后這兩種方法以后,發現真正實現熱部署的只是后者,前者只是實現了熱啟動而已,從控制台日志就可以看出來。
說明
- 項目使用maven管理,不然這篇簡單實用的文章不適合你
- 第一種方式配置文件改動后不能觸發熱啟動
- 第二種方式配置文件改動后不能觸發熱部署,會提示一下錯誤