java热部署

热部署

热启动就需要用到我们在一开始就引入的另外一个组件:spring-boot-devtools。它是 Spring Boot 提供的一组开发工具包,其中就包含我们需要的热部署功能,在使用这个功能之前还需要再做一些配置。

添加依赖

在 pom.xml 文件中添加 spring-boot-devtools 组件。

<dependency>
  <groupId>org.springframework.bootgroupId>
  <artifactId>spring-boot-DevtoolsartifactId>
  <optional>trueoptional>
dependency>

在 plugin 中配置另外一个属性 fork,并且配置为 true。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
            <configuration>
                <fork>truefork>
            configuration>
        plugin>
plugins>
build>

OK,以上的配置就完成了,如果你使用的是 Eclipse 集成开发环境,那么恭喜你大功告成了;如果你使用的是 IDEA 集成开发环境,那么还需要做以下配置。

配置 IDEA

选择 File | Settings | Compiler 命令,然后勾选 Build project automatically 复选框,低版本的 IDEA 请勾选 make project automatically 复选框。

java热部署_第1张图片

使用快捷键 Ctrl + Shift + A,在输入框中输入 Registry,勾选 compile.automake.allow.when.app.running 复选框:
在这里插入图片描述

全部配置完成后,IDEA 就支持热部署了,大家可以试着去改动一下代码就会发现 Spring Boot 会自动重新加载,再也不需要手动单击重新部署了。

为什么 IDEA 需要多配置后面这一步呢?因为 IDEA 默认不是自动编译的,需要我们手动去配置后才会自动编译,而热部署依赖于项目的自动编译功能。

该模块在完整的打包环境下运行的时候会被禁用,如果你使用 java-jar 启动应用或者用一个特定的 classloader 启动,它会认为这是一个“生产环境”。

你可能感兴趣的:(开发技术总结,java,intellij-idea,spring,boot)