Spring Boot 项目在 IntelliJ IDEA 中配置 DevTools 实现热部署(macOS 系统)

要配置的内容:

1.Preference -> Build, Execution, Deployment -> Complier -> Build project automatically --> 选中
2.command + option + shift + /(4个键)-> 查找Registry -> 找到并勾选:compiler.automake.allow.when.app.running
3.pom.xml文件中加maven依赖:spring-boot-devtools

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->
    <optional>true</optional>
</dependency>

4.pom.xml文件中插件spring-boot-maven-plugin,配置上

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!--fork :  如果没有该项配置devtools不会起作用,即应用不会restart -->
        <fork>true</fork>
        <!--支持静态文件热部署-->
        <addResources>true</addResources>
    </configuration>
</plugin>

5.Chrome禁用缓存:NetWork --> Disable Cache(while DevTools is open)

配置成功后,保存类路径上的文件,Spring Boot 应用会自动重启。

Spring DevTools 特点:

  1. 默认禁用缓存选项。
  2. 在类路径上的文件发生更改时自动重启。注意:某些资源(如静态资源和视图模板)不需要重启应用程序。
  3. 实时加载。
  4. 全局设置。

Spring DevTools 相关知识:

运行打包的应用程序时,开发人员工具会自动禁用。如果你通过 Java -jar或者其他特殊的类加载器进行启动时,都会被认为是“生产环境的应用”。
将依赖标记为optional可选是一种最佳做法,可以防止将devtools依赖传递到其他模块中。Gradle 不支持开箱即用的optional依赖项。

posted on 2017-11-23 14:29 cag2050 阅读(...) 评论(...) 编辑 收藏

导航