热部署,热加载

热部署:直接重新加载整个应用(生产环境),清空内存重新打包,重新解压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


posted @ 2019-12-27 09:32  GSLCN  阅读(560)  评论(0编辑  收藏  举报