如何在IDEA Intellij上使用Spring-boot自动重新加载

2022-08-31 13:53:03

我写了一个基于Spring-boot,tomcat,freemarker的项目,我成功运行它,但是每当我修改一些模板和java类时,我必须重新启动服务器或使用Intellij上的“重新加载更改的类”菜单以使更改生效。它浪费了很多时间!

然后我尝试使用springloaded,正如官员所说

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>springloaded</artifactId>
            <version>1.2.0.RELEASE</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/springloaded-1.2.0.RELEASE.jar</systemPath>
        </dependency>
    </dependencies>
</plugin>

然后我重新运行服务器,但无法按预期工作!在模板或类发生任何更改后,我仍然需要重新启动服务器。

我如何将弹簧加载配置为自动重新加载。多谢!


Spring-boot 的版本是 1.3.0RC1

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.RC1</version>
</parent>

maven version:3.2 jdk:1.8 intellij :14.1.5 os:windows 8.1 64 bit


答案 1

首先,请确保添加为依赖项:spring-boot-devtools

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

其次,验证是否选中了“自动生成项目”选项复选框。File->Setting –> Build, Execution, Deployment –> Compiler–>

最后,按Linux / Windows用户或Mac用户,然后在打开的弹出窗口中键入注册表。向下滚动到使用向下箭头键,然后点击 。在窗口中验证选中了“编译器.automake.allow.when.app.running”选项。SHIFT+CTRL+ACommand+SHIFT+ARegistry...ENTERRegistry...Registry

如果未重新加载静态文件,请按键强制重新加载。CTRL+F9

以上说明取自此处


答案 2

注意:: 对于那些没有在注册表中找到该选项的人。对于我的情况,intellij的较新版本的想法@Version:2021.2编译器.automake.allow.when.app.running选项被移动到高级设置:

enter image description here


推荐