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

新手上路,请多包涵

昨天我从 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 许可协议

阅读 1.7k
2 个回答

更新

对于 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” 指南。

原文由 dan 发布,翻译遵循 CC BY-SA 4.0 许可协议

请按照以下 两个 步骤操作:

1 - 从编译器启用 Automake

  • 按: ctrl + shift + A (对于 Mac + shift + A
  • 类型: make project automatically
  • 命中: 进入
  • 启用 Make Project automatically 功能

2 - 在应用程序运行时启用 Automake

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

注意:现在重新启动您的应用程序:)

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

原文由 snovelli 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题