昨天我从 Eclipse 切换到 IntelliJ IDEA。
我也在将 JRebel 与 WebSphere Server 7 一起使用。
现在一切似乎都工作得很好,除了 当我修改 一个 Java 文件并 点击保存 时,IntelliJ 不会 重新编译该文件,以便 JRebel 接收它。
Eclipse 的“ 自动构建”特性解决了这个问题。
在 IntelliJ IDEA 中,我必须按 CTRL
+ SHIFT
+ 9
重新编译相关类,以便 JRebel 将其拾取。如果跨 两个文件 进行更改,我必须 对每个文件和其中一个文件执行此操作, 并且由于 IntelliJ 使用保存所有机制,所以很难知道手动重新编译什么,我对这两个文件都不感兴趣。
有没有办法让 IntelliJ 自己 做这个?
原文由 mjs 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新
对于 IntelliJ IDEA 12+ 版本,如果我们使用外部编译器选项,我们可以自动构建编辑后的源代码。唯一需要做的就是选中位于“ _编译器_”设置下的“ _自动构建项目_”选项:
此外,如果您想在应用程序运行时进行热部署,或者如果您正在使用 spring boot devtools,您也应该从注册表中启用
compiler.automake.allow.when.app.running
。这将自动编译您的更改。对于大于 2021.2 的版本,我们需要勾选“允许自动制作启动甚至识别开发应用程序当前正在运行”选项:
对于早于 2021.2 的版本:
使用
Ctrl
+Shift
+A
(或在 Mac 上使用⌘
+Shift
+A
)键入Registry
打开注册表窗口后,找到并启用compiler.automake.allow.when.app.running
,请参见此处:对于12之前的版本,可以使用*EclipseMode*插件让IDEA自动编译保存的文件。
有关更多提示,请参阅 “从 Eclipse 迁移到 IntelliJ IDEA” 指南。