热部署,热加载
热部署:直接重新加载整个应用(生产环境),清空内存重新打包,重新解压war包
热加载:在运行时重新加载class(开发环境),基于字节码的更改,不释放内存开发可用,上线不可用,热加载不重启tomcat,不重新打包
热加载:
1、热加载在pom.xml中添加devtools的maven引用
<!-- 热加载-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<!--<scope>true</scope>-->
</dependency>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork><!-- 如果没有该配置,热部署的devtools不生效 -->
</configuration>
</plugin>
2、在application.yml文件加入
#热部署生效
devtools:
restart:
enabled: true
#设置重启的目录,检索目录(resources/static、resources/templates)
additional-paths: src/main/java
3、IDEA 配置修改
执行 shift+ctrl+alt+/ 快捷键
热部署:
热部署JAR添加pom.xml关联配置
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork><!-- 如果没有该配置,热部署的devtools不生效 -->
</configuration>
//springloaded 和 devtools同样的效果,有设置devtools,可不设置springloaded
<dependencies>
<!-- spring热部署 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
</dependencies>
</plugin>
运行:mvn clean spring-boot:run