昨天我从 Eclipse 切换到 IntelliJ IDEA。
我也将 JRebel 与 WebSphere Server 7 一起使用。
现在一切似乎都运行良好,除了 当我修改 Java 文件并 点击 save 时,IntelliJ 不会 重新编译文件,以便 JRebel 拾取它。
Eclipse“ 自动构建 ”特性解决了这个问题。
在 IntelliJ IDEA 中,我必须点击CTRL++重新编译相关类以供 JRebel 拾取SHIFT。9如果对 两个文件 进行了更改,我必须 对每个文件都执行此操作, 并且由于 IntelliJ 使用全部保存机制,因此很难知道要手动重新编译什么,而我也不太感兴趣。
CTRL
SHIFT
9
有没有办法让 IntelliJ 自己 做到这一点 ?
对于 IntelliJ IDEA 12+ 版本,如果我们使用外部编译器选项,我们可以自动构建已编辑的源代码。唯一需要的是检查选项“ 自动构建项目 ”,位于“ 编译器 ”设置下:
此外,如果您想在应用程序运行时进行热部署,或者如果您使用的是 spring boot devtools,您也应该启用compiler.automake.allow.when.app.runningfrom registry。这将自动编译您的更改。
compiler.automake.allow.when.app.running
对于高于 2021.2 的版本,我们需要选中“即使 id 开发应用程序当前正在运行也允许自动启动”选项:
对于早于 2021.2 的版本:
打开注册表窗口后,使用Ctrl (或Mac上的Shift )类型,找到并启用,请参见此处:A``ShiftARegistry`compiler.automake.allow.when.app.running
Ctrl
Shift
A``
A
`compiler.automake.allow.when.app.running
对于 12 之前的版本,您可以使用 EclipseMode 插件使 IDEA 自动编译保存的文件。
有关更多提示,请参阅“从 Eclipse 迁移到 IntelliJ IDEA”指南。