SpringBoot热部署-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

SpringBoot热部署

借鉴链接SpringBoot中的热部署

  • 添加devtools依赖和pom插件
<!-- devtools 依赖 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <scope>runtime</scope>
  <optional>true</optional>
</dependency>

<!-- devtools 插件 -->
<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <fork>true</fork>
        <addResources>true</addResources>
      </configuration>
    </plugin>
  </plugins>
</build>

image.png

  • Ctrl+Alt+Shift+/ —>registry---->打勾

image.png

  • 重启IDEA ----- 热部署OK!

Tomcat热部署

  • Artifact有两种形式war和war exploded

image.png

  • 设置tomcat运行策略以war exploded为例

image.png
:::tips

  • **On Update action : **当代码改变的时候需要IDEA为你做什么

    • Update resources 如果发现有更新而且更新的是资源文件.jsp.xml等不包括java文件,就会立刻生效
    • Update classes and resources 如果发现有更新这个是同时包含java文件和资源文件的就会立刻生效【这里需要注意一下在运行模式下修改java文件时不会立刻生效的而debug模式下修改java文件时可以立刻生效的。当然两种运行模式下修改resources资源文件都是可以立刻生效的。】
    • Redploy 重新部署只是把原来的war删掉不重启服务器
    • Restart 重启服务器
      :::
      :::tips
  • **On Frame deactivation : **当失去焦点比如你最小化了IDEA窗口需要IDEA为你做什么。

    • **Do nothing : **不做任何事 一般推荐这个因为失去焦点的几率太大
    • Update resources : 失去焦点后修改的resources文件都会立刻生效
    • Update classes and resources 失去焦点后修改的java resources文件都会立刻生效
      :::
      注另外如果Artifact是war包形式的话On Update action与On frame deactivation中的选项也是不一样的没有Update resources和 Update classes and resources这种选项取而代之的是Hot Swap Classes选项本质的意思是一样的。
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6