Spring Boot 开发热部署
在进行 Spring Boot进行开始,如果总是通过main方法进行启动项目的话会非常麻烦,每一次修改都需要启动,开发效率特别低下,现在可以通过springloaded进行热部署,每一次修改都不需要重启,可以大大提高开发效率。
springloaded GitHub网站:https://github.com/spring-projects/spring-loaded
使用springloaded必须在项目pom.xml 增加插件,详细的代码如下:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin </artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
增加插件之后,并不能通过main方法执行启动,启动方法有两种,详细如下:
启动1:
在项目中右击==>Run As==>3 Maven build...打开以下窗口
在Goals中输入spring-boot:run,并点击最下面Run按钮就可以实现开发热部署了.
此种方法启动设置简单,但存在一个问题,每一次关闭程序时,并没有真正的关闭,8080端口还被占用着,重启程序会失败。必须通过任务管理器把相关的JAVA进程结束之后才能释放8080端口。
启动2:
此种启动设置比较麻烦,但不存在关闭之后占用8080端口的问题,设置如下:
A、在项目的根目录下创建一个lib目录,并下载springloaded Jar文件放下其中。
Jar文件下载的地址为https://github.com/spring-projects/spring-loaded
B、在Main方法中右击==>Run As==>Java Application打开以下窗口
在VM arguments中输入下面内容
-javaagent:.\lib\springloaded-1.2.5.RELEASE.jar -noverify
点击最下面Run按钮就可以实现开发热部署了,可以愉快的开发了。
以上两种热部署有存在一定的问题,那就是增加方法时或都URL无法生效
注:spring-boot版本为:1.4.1.RELEASE