所以我使用的是JRebel,但我认为目前使用它的方式有问题。
这是在我的pom.xml中:
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
当我部署应用程序时,我读到了:
2014-08-03 15:43:42 JRebel: Directory '/Users/koraytugay/IdeaProjects/august-three/target/classes' will be monitored for changes.
2014-08-03 15:43:42 JRebel: Directory '/Users/koraytugay/IdeaProjects/august-three/src/main/webapp' will be monitored for changes.
我必须说我正在使用IntelliJ,而我使用的服务器是Tomcat。
我有一个简单的Java代码,当我点击index.jsp时会调用它:
public static int rollDice() {
return 11;
}
当我将值11更改为9并刷新index.jsp时,我看不到更改。我必须在maven中进行全新安装,然后JRebel才能正常工作。
如果没有maven clean install,有没有办法做到这一点?当我编辑源文件时,我可以直接看到我的网络应用程序中的更改吗?
感谢。
答案 0 :(得分:3)
您只需编译已更改的单个文件即可。 JRebel正在跟踪所有类,并且它会在下次访问时重新加载更改的类。要在IntelliJ中执行此操作,您需要调用Build - &gt;从菜单编译或使用适当的快捷方式(Ctrl + Shift + F9)。同样来自IntelliJ 12,您只需选中选项&#34;自动生成项目&#34;在设置 - &gt;编译器自动编译所有已编辑的文件)