使用maven for Java Web App的JRebel每次都需要干净安装,这是对的吗?

时间:2014-08-03 12:53:38

标签: java jsp maven intellij-idea jrebel

所以我使用的是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,有没有办法做到这一点?当我编辑源文件时,我可以直接看到我的网络应用程序中的更改吗?

感谢。

1 个答案:

答案 0 :(得分:3)

您只需编译已更改的单个文件即可。 JRebel正在跟踪所有类,并且它会在下次访问时重新加载更改的类。要在IntelliJ中执行此操作,您需要调用Build - &gt;从菜单编译或使用适当的快捷方式(Ctrl + Shift + F9)。同样来自IntelliJ 12,您只需选中选项&#34;自动生成项目&#34;在设置 - &gt;编译器自动编译所有已编辑的文件)