无法在save / hot deploy功能上进行编译,以便在eclipse或netbeans中使用基于maven的webapp

时间:2009-09-30 13:38:03

标签: eclipse tomcat netbeans compilation

所以我们的新webapp项目基于maven。我真的很喜欢依赖管理和IDE不可知的方法,但我在编译和调试方面遇到了问题。

以下是我目前如何获得项目工作的干净副本

  1. 查看SVN的主要项目
  2. 在IDE中打开项目(我在eclipse 3.4和netbeans 6.7中试过)
  3. IDE将自动打开两个子项目,一个是webapp,另一个是支持的utils jar。
  4. 从命令行我在webapp模块上运行mvn war:inplace,该模块在WEB-INF / lib /
  5. 中构建webapp的工作副本以及所有依赖项

    然后运行正常但每当我更改java类时,我必须清理并构建/重新加载应用程序上下文。

    我已经googled高低,但似乎没有人抱怨这个,所以我想有一些非常明显的东西我不知道。其他人如何使用maven处理增量编译和热部署?

    澄清所有我正在寻找的是复制我以前在maven之前的行为,我可以对java类进行简单的更改,它们将被即时编译并热部署到正在运行的webapp。我不需要像jRebel那样的任何东西。我只是想让新工具给我与旧工具相同的功能。

3 个答案:

答案 0 :(得分:1)

如果您可以使用mvn jetty:run,它将直接从项目中读取类和资源。使用Maven2 Eclipse插件并运行嵌入在Eclipse中的服务器具有自动发布功能,最终可以帮助您实现目标,尽管速度较慢。从2.0开始的JRebel(您可能知道)可以将Maven模块直接映射到已部署的应用程序,因此您可以立即构建和重新部署。这些是我所知道的唯一解决方案。

答案 1 :(得分:0)

Netbeans应该开箱即用。但是,仍存在与此相关的错误:http://netbeans.org/bugzilla/show_bug.cgi?id=177230

答案 2 :(得分:0)

如果我使用Tomcat 7.0.x就地部署,就地部署对我来说使用Netbeans 7.0.1和Tomcat 6.0.x是行不通的。 Tomcat总是将应用程序复制到$ CATALINA_HOME / temp :(