昨天我从Eclipse切换到IntelliJ IDEA。

我也在WebSphere Server 7中使用JRebel。

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

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

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

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


当前回答

没有足够的点来评论现有的答案,但类似于上面的一些人,我只是添加了一个宏和键图来组织导入/格式化/保存所有/快速加载(F9) /同步。

同步是添加的,因为它似乎是我还可以看到由外部构建工具/观察者(即webpack)修改的资源更新的唯一方式。

这个过程比eclipse慢——而且对于外部文件刷新经常需要多次运行该命令——但假设我可以接受它。

其他回答

我设法用宏来解决这个问题。

我开始录制一个宏:

点击编辑-宏-开始宏录制 单击“文件-全部保存” 单击“生成-制作项目” 单击编辑-宏-停止宏记录

命名一些有用的东西,比如“SaveAndMake”。

现在只需删除保存所有键绑定,并添加相同的键绑定到您的宏!

所以现在,每次我保存,它保存并进行脏编译,jRebel现在正确地检测所有更改。

当Intellij在其他模块中遇到编译问题时,它会悄悄地失败,然后不执行自动编译。所以检查你的问题窗口

请遵循以下两个步骤:

1 -从编译器中启用Automake

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

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

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

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

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

我也有同样的问题。 我使用的是“省电模式”,它可以防止增量编译和显示编译错误。

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

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

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

例:参见

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