首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IntelliJ想法弹簧启动热重装手动保存?

IntelliJ想法弹簧启动热重装手动保存?
EN

Stack Overflow用户
提问于 2017-03-30 22:52:56
回答 4查看 19.8K关注 0票数 14

我的目标是:

  1. 禁用spring启动项目的IntelliJ IDEA中的自动保存
  2. 手动保存文件时,始终热重新加载项目。

在我看来,同时实现这两个目标是不可能的。

我可以通过修改以下设置来禁用IntelliJ IDEA中的自动保存程序:

生成、执行、部署 -> 编译器自动取消生成项目

另外,我认为还需要修改这些选项:

外观和行为 -> 系统设置取消同步保存文件(帧失活和自动保存文件)

我可以在Mkyong:姆基永-救命的帮助下启用热重新加载,正如您可以从链接中看到的那样,它需要设置“自动构建项目”。如果我做了这两个步骤,那么应用程序将始终保存在编辑,它将始终热重新加载应用程序。

这是如此令人沮丧,我认为IntelliJ的想法是一个很好的现代IDE,与这些工业核心功能,如热重装处理容易?

的问题是,我真的不想在我对文件所做的每一次更改中重新加载我的应用程序,因为它将是持续的热重新加载,这将在大多数情况下破坏应用程序。无谓的浪费资源。我希望在手动保存文件时总是重新加载,这是许多其他编辑器的标准。必须有一个解决这个问题的办法,因为人们希望为他们的发展提供合理的热负荷。

EN

回答 4

Stack Overflow用户

发布于 2017-08-18 13:08:47

就我所理解的而言,您的问题是,您希望spring服务器在您进行更改时自动重新加载,然后手动保存它们。对吗?如果是这样的话,按照我的步骤和希望你会得到什么愿望。

1.包括spring-boot-devtools依赖项

Maven

代码语言:javascript
复制
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

Gradle

代码语言:javascript
复制
dependencies {
    compile("org.springframework.boot:spring-boot-devtools")
}

2.在编译器首选项中启用“Make自动”,以便自动重新启动工作。

3.在compiler.automake.allow.when.app.running中启用IntelliJ注册表设置。您可以使用快捷方式IntelliJ访问Shift+Command+A中的注册表,然后搜索注册表。

当您手动保存更改时,第三步将使您的项目(使项目)自动生成。

========================================================================这些步骤将强制spring服务器在通过IDE手动保存更改后重新启动。但是,即使服务器被重新启动,每次进行更改时也需要刷新浏览器。要强制浏览器自动刷新,需要在浏览器中安装一个名为Live的扩展。检查这个链接http://livereload.com/extensions/。该链接将显示如何安装此扩展取决于您的浏览器。

票数 21
EN

Stack Overflow用户

发布于 2021-01-15 23:48:21

下面是一个简单的工作流程,在IDEA终极版中对我很好,而且当代码被热交换时,不会重新启动应用程序的部分内容:

1.安装工具

2.创建适当的Spring运行配置

这里的关键步骤是将On 'Update' action Hot swap classes and update trigger file if failed设置为

下面是工具提示对各种选项的解释。只指定Update classes or resources可以工作,但是应用程序的部分将被重新加载,但比从头启动应用程序要快得多。请看Restart vs Reload 文件的一节,以作解释

3.在调试模式Shift + F9中运行Spring应用程序

4.更改一些java文件或静态内容,然后按CTRL + F10

它将更新您刚刚更改的类和资源。要获得好的结果,请禁用浏览器的缓存,以避免看到旧版本的静态资源。

5.编辑模板

如果使用模板引擎,则文档提供了有关如何在不重新启动容器的情况下重新加载它们的说明

6. (可选)用LiveReload触发浏览器刷新

包含LiveReload服务器,它帮助您在内容更改时触发浏览器重新加载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43129647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档