热部署:
在服务不停止的状态下,完成服务的一项新部署处理
方式2种:
SpringLoader插件:
以Maven插件方式使用SpringLoader:
依赖:
<!-- SpringLoader插件 -->
<build>
<plugins><!-- 这里允许我们配置多个插件-->
<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>
</plugin>
</plugins>
</build>
使用上述插件: 需要改变启动方式,不能再通过SpringApplication。
需要使用Maven的命令来启动:spring-boot:run
缺陷:就是java代码做部署处理,对页面不起作用。
注意:这种方式SpringLoader热部署程序实在系统后台以进程的形式来运行,重新启动的时候会造成端口被占用的报错,需要手动关闭该进程 -杀死java.exe的进程
方式二:直接使用jar包
添加第三方jar包,
然后调用命令:
-javaagent:.\lib\springloaded-1.2.5.RELEASE.jar -noverify
这种方式不会出现端口占用
使用DevTools工具:
SpringLoader跟DevTools的区别:
SpringLoader在部署项目的时候使用的是热部署的方式。
DevTools采用的是重新部署的方式,
DevTools的依赖:
<denpency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</denpency>