我的目标是:
在IntelliJ IDEA中禁用弹出启动项目的自动保存
在手动保存文件时,总是热重新加载项目
在我看来,同时实现这两个目标是不可能的。
我可以通过修改这些设置来禁用IntelliJ IDEA中的自动保存:
构建,执行,部署 - > 编译器取消选中自动构建项目
另外我认为太需要的是修改这些选项:
外观&行为 - > 系统设置取消选中同步下的两个保存文件(停用帧并自动保存文件)
我可以在Mkyong的帮助下启用热重新加载:Mkyong-help 正如您从链接中看到的,它需要自动设置“构建项目”。上。如果我执行这两个步骤,那么应用程序将始终保存在编辑上,并且它将始终热重新加载应用程序。
这太令人沮丧了,我认为IntelliJ IDEA是一个很好的现代IDE,这些工业核心功能如热重载处理容易吗?
问题是,我真的不想在我对文件做出的每一次更改时都热重新加载我的应用程序!因为那时它将不断热重新加载,这将打破应用大部分时间。只是如此不必要和浪费资源。我总是在手动保存文件时热重新加载,这是许多其他编辑器的标准。必须有一个解决这个问题的方法,因为人们需要合理的热重载来开发它们。
答案 0 :(得分:9)
据我所知,您的问题是您希望Spring服务器在您进行更改时自动重新加载,然后手动保存它们。对?如果是这种情况,请按照我的步骤进行操作,希望您会得到满足的想法。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
dependencies {
compile("org.springframework.boot:spring-boot-devtools")
}
compiler.automake.allow.when.app.running
注册表设置。您可以使用快捷方式Shift+Command+A
访问IntelliJ中的注册表,然后搜索注册表。当您手动保存更改时,第3步将自动构建项目(make project)。
=============================================== ========================= 一旦通过IDE手动保存更改,这些步骤将强制Spring服务器重新启动。但是,即使重新启动服务器,每次进行更改时都需要刷新浏览器。要强制您的浏览器自动刷新,您需要在浏览器中安装名为Live Reload的扩展程序。请查看此链接http://livereload.com/extensions/。该链接将向您显示如何安装此扩展程序取决于您的浏览器。
答案 1 :(得分:0)
这是一个简单的工作流程,它在 IDEA Ultimate Edition 中对我来说效果很好,并且在代码热交换时不会重新启动部分应用程序:
这里的关键步骤是将 On 'Update' action
设置为 Hot swap classes and update trigger file if failed
这是工具提示对各种选项的解释。仅指定 Update classes or resources
会起作用,但会重新加载应用程序的某些部分,但比从头启动应用程序要快得多。请参阅 Restart vs Reload
section of the documentation for an explanation。
Shift + F9
CTRL + F10
它将更新您刚刚更改的类和资源。为了获得良好的效果,请禁用浏览器的缓存以避免看到旧版本的静态资源。
如果您使用模板引擎,文档提供了有关 how to reload them without restarting the container
的说明Spring Boot 开发者工具 contain a LiveReload server 可帮助您在内容发生变化时触发浏览器重新加载。