昨天我从Eclipse切换到IntelliJ IDEA。

我也在WebSphere Server 7中使用JRebel。

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

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

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

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


当前回答

我得到错误:一些罐子不在类路径。因此,我只是删除损坏的jar并执行以下步骤

1.Project >  Setting>Build,Execution,Deployment>Compiler>check build project automatically
2.CTRL+SHIFT+A find/search **registry** --Check for below param
compiler.automake.allow.when.app.running
compiler.automake.trigger.delay=500---According to ur requirement
3.Add devtool in pom.xml
         <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
4.Build ,If found any probelm while building ,saying some jar in not in class path.Just delete the corrupted jar
and re-build the project angain after sync with maven lib

其他回答

在我的maven项目中,唯一受此影响的是在单元测试的运行配置中添加“test-compile”目标。令人难以置信的笨拙解决方案,但它有效。

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

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

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

对于那些使用新的Intellij版本却找不到compiler. autommake .allow.when.app.running的人

https://youtrack.jetbrains.com/issue/IDEA-274903

基本上选项现在已经移动到设置->高级设置->编译器(检查允许自动生成选项)

编辑运行/调试配置,以便在启动之前选择生成选项

选择“构建”选项后

上面的解决方案在我开发JBehave测试套件时非常适用

警告

Eclipse模式插件已经过时,并且与最近的IDEA 12+版本不兼容。如果你安装它,IDE将挂起每一个文件更改,并将响应极慢。


IntelliJ IDEA不使用自动构建,它在运行中检测错误,而不是通过编译器。类似于Eclipse模式将在IDEA 12中可用:

使用Build | Make,它调用增量的Make过程,只编译更改的和依赖的文件(它非常快)。

还有一个常见问题解答条目可能会有所帮助。

Update on the automatic make feature: When run/debug configuration is running, Make project automatically has no effect. Classes on disk will change only on Build | Make. It's the core design decision as in our opinion class changes on disk should be always under user's control. Automatic make is not the copycat of Eclipse feature, it works differently and it's main purpose is to save time waiting for the classes to be ready when they are really needed (before running the app or tests). Automatic make doesn't replace the explicit compilation that you still need to trigger like in the case described in this question. If you are looking for different behavior, EclipseMode plug-in linked in the FAQ above would be a better choice.