昨天我从Eclipse切换到IntelliJ IDEA。

我也在WebSphere Server 7中使用JRebel。

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

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

在IntelliJ IDEA中,我必须按CTRL+SHIFT+9来重新编译JRebel的相关类。如果跨两个文件进行更改,我必须在每个文件上都这样做,因为IntelliJ使用了保存所有机制,很难知道手动重新编译什么,我也不感兴趣。

难道没有办法让IntelliJ自己来做这个吗?


当前回答

对于Intellij 2021或更高版本,您将找不到注册表项

compiler.automake.allow.when.app.running

它已经移动到高级设置如下面的截图所示

来源:https://youtrack.jetbrains.com/issue/idea - 274903

其他回答

实际上没有区别,因为两者都需要1次点击:

Eclipse:手动保存,自动编译。 IntelliJ:自动保存,手动编译。

最简单的解决办法就是习惯它。因为当您在IDE中度过大部分时间时,最好在一个IDE中养成快习惯,而不是在几个IDE中养成慢习惯。

您可以按ctrl+s键映射保存和编译在一个步骤。转到键映射设置并搜索Compile。

它不适合我,因为在我的项目结构中有一个不必要的模块。我想测试是用另一个模块执行的。

我不知道它是怎么变成这样的,但去掉它就解决了问题。

确保运行/调试设置使用的是使用自动保存构建的模块。

例:参见

您可以在“项目结构-模块”中更改模块

我有同样的问题,也有一个问题文件图标在intellij,所以我删除了。idea文件夹和重新导入项目解决了我的问题。

请遵循以下两个步骤:

1 -从编译器中启用Automake

按:ctrl + shift + A(适用于Mac⌘+ shift + A) 类型:自动制作项目 冲击:输入 启用自动制作项目功能

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

按:ctrl + shift + A(适用于Mac⌘+ shift + A) 类型:注册表 找到关键编译器. autommake .allow.when.app.running并启用它或单击旁边的复选框

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

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