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

Posted

技术标签:

【中文标题】如何在 IDEA Intellij 上使用 Spring-boot 进行自动重新加载【英文标题】:how to make auto reload with Spring-boot on IDEA Intellij 【发布时间】:2016-01-25 18:30:33 【问题描述】:

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

然后我尝试使用springloaded作为the official said:

<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>

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

如何将 springloaded 配置为自动重新加载。 非常感谢!


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 版本:3.2 JDK:1.8 智能:14.1.5 操作系统:windows 8.1 64位

【问题讨论】:

您使用的是哪个 spring-boot 版本?如果我没记错的话,从 1.3.0 开始可以重新加载 java 类(现在只有 RC1 可用)。但我不确定这一点。您可以验证这一点 我使用 Spring-boot 1.3.0RC1 :( 抱歉,我不能告诉你更多。还没试过这个,还没有 也许有些不相关,但自动重载在 netbeans 中开箱即用。 【参考方案1】:

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

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

其次,确认选项复选框File-&gt;Setting –&gt; Build, Execution, Deployment –&gt; Compiler–&gt;Build project automatically被选中。

最后,Linux/Windows 用户按SHIFT+CTRL+A,Mac 用户按Command+SHIFT+A,然后在打开的弹出窗口中输入registry。使用向下箭头键向下滚动到Registry...,然后在Registry... 上点击ENTER。在Registry 窗口中验证选项 compiler.automake.allow.when.app.running 是否被选中。

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

以上说明摘自here

【讨论】:

谢谢它的工作,你知道用命令行运行它是否可能吗? 它仍然无法正常工作。它是否适用于其他 5 个项目,但你知道我是对的吗???【参考方案2】:

注意 :: 对于那些在注册表中没有找到该选项的人。对于我的案例 @Version:2021.2 的较新版本的 intellij 想法,compiler.automake.allow.when.app.running 选项已移至高级设置:

【讨论】:

【参考方案3】:

对于 macOS

    首选项 -> 编译器 -> 勾选“自动构建项目”

    shift + command + A

查看compiler.automake.allow.when.app.running

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

【讨论】:

【参考方案4】:

CTRL+F9 制作带有调试功能的项目。 这个想法是让项目在不运行或调试时自动工作!

设置->构建->编译器->勾选自动生成项目。

【讨论】:

【参考方案5】:

您可能可以检查是否在 Build Tools settings 上的任何更改上触发了构建

【讨论】:

加上上面的答案:检查编译器自动重启。

以上是关于如何在 IDEA Intellij 上使用 Spring-boot 进行自动重新加载的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IntelliJ IDEA 上增加内存堆大小?

如何删除IntelliJ IDEA的未使用的导入上犯

如何删除IntelliJ IDEA的未使用的导入上犯

如何使用Intellij IDEA工具导入SVN项目

如何将多个Eclipse项目导入IntelliJ IDEA

如何在 Windows 上为 WebStorm 或 IntelliJ IDEA 使用 Mac OSX 键盘映射?