2010-05-03 77 views
10

我正在使用NetBeans 6.8,Tomcat 6和Maven 2.2,并且希望在保存文件后立即在浏览器中看到代码中的更改(显示http://localhost:8080)。使用Maven和NetBeans在Tomcat上进行增量式热部署

将tomcat-Maven的插件具有以下配置:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    <version>1.0-beta-1</version> 
</plugin> 

按照它应该执行就地部署的输出。

如何在浏览器中立即查看Java代码中的更改?

回答

0

使用tomcat:inplace的目标从其编译的类和源中调用您的web应用程序。

您可能会遇到Windows上的文件锁定问题。有几个workarounds,如antiJarLocking contet属性,但基本上这归结为您的web应用程序没有正确关闭,这将最终耗尽多次重新加载后的虚拟机内存。就我而言,我使用的是Spring,而“正确的”修复方法是在某些关键bean上添加一个destroy方法,以便该应用程序正常关机。

Maven Tomcat Plugin - tomcat:inplace

1

我花了很多时间试图让这个工作。最后我只用了码头。我把这个:

<plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>${jetty.version}</version> 
      <configuration> 
       <reload>automatic</reload> 
       <scanIntervalSeconds>5</scanIntervalSeconds> 
      </configuration> 
    </plugin> 

也许所有的参数是不正确的,但后来我创建了一个自定义的目标“码头:运行” 我使用它。我不能使用大的绿色播放按钮“运行”,但jetty部署很好,它热部署Java类中的任何更改。

1

看看JRebel。它应该做你想做的。怕疼。