Intellij IDEA Java 类在保存时不自动编译更新

2022-08-31 06:09:29

昨天我从Eclipse切换到IntelliJ IDEA。

我也在 WebSphere Server 7 中使用 JRebel。

现在一切似乎都运行良好,除了当我修改Java文件并点击保存时,IntelliJ不会重新编译该文件,以便JRebel拾取它。

Eclipse 的“自动构建”功能解决了这个问题。

在IntelliJ IDEA中,我必须点击++来重新编译JRebel的相关类才能拾取它。如果对两个文件进行更改,我必须对其中一个文件执行此操作,并且由于IntelliJ使用全部保存机制,因此很难知道手动重新编译什么,我对此也不感兴趣。CTRLSHIFT9

难道没有办法让IntelliJ自己做到这一点吗?


答案 1

更新

对于IntelliJ IDEA 12 +版本,如果我们使用外部编译器选项,我们可以自动构建编辑后的源代码。唯一需要做的就是选中位于“编译器”设置下的“自动构建项目”选项:

Compiler Settings

此外,如果要在应用程序运行时进行热部署,或者如果您正在使用spring boot devtools,则也应该启用 from 注册表。这将自动编译您的更改。compiler.automake.allow.when.app.running

对于大于2021.2的版本,我们需要选中“允许自动制作启动,即使id开发应用程序当前正在运行”选项:enter image description here

对于早于 2021.2 的版本:

使用++(或在Mac上使用++)键入注册表窗口打开后,找到并启用,请参阅此处:CtrlShiftAShiftARegistrycompiler.automake.allow.when.app.running

enter image description here


对于早于 12 的版本,您可以使用 *EclipseMode* 插件使 IDEA 自动编译保存的文件。

有关更多提示,请参阅“从 Eclipse 迁移到 IntelliJ IDEA”指南。


答案 2

请遵循这两个步骤:

1 - 从编译器启用自动制作

  • 按:+ +(适用于 Mac)ctrlshiftA + shift + A)
  • 类型:make project automatically
  • 打:Enter
  • 启用功能Make Project automatically

2 - 在应用程序运行时启用自动建模

  • 按:+ +(适用于 Mac)ctrlshiftA + shift + A)
  • 类型:Registry
  • 找到密钥并启用它,或单击它旁边的复选框compiler.automake.allow.when.app.running

注意:立即重新启动应用程序:)

注意:这也应该允许使用spring boot devtools进行实时重新加载。


推荐