发布tomcat:在Maven上运行

时间:2012-03-13 07:32:09

标签: java eclipse java-ee tomcat maven

我正在考虑将Maven 3用于我使用Eclipse和Tomcat开发的Spring项目。到现在为止;

  • 我一直禁用“自动重新发布”,因为有时我不需要发布,我只保存.java文件(类)并继续开发调试模式。
  • 我重新发布(通过单击Eclipse视图中的“发布”按钮)只有当我更改了js,jsp或类似htm的文件,而不是类文件时,所以我可以继续开发而不重新启动Tomcat。

现在我将使用Maven进行调试/运行开发,但每当我更改代码时,我都不知道如何在Maven上执行此“发布”问题,因为它不直接使用Eclipse的Tomcat。我停止了maven并重新开始。我是否必须对代码的所有更改执行此操作?我如何制作这个maven -tomcat:运行 - 发布/重新发布js / jsp / html文件并为.java文件“什么都不做”?

3 个答案:

答案 0 :(得分:1)

不幸的是,是的,你必须为每次改变都运行maven。

Maven不是真的打算以这种方式使用它 - 它假设你准备好构建时(即开发后)你会使用maven,但如果你正在尝试使用Eclipse之类的东西实时查看您的更改。它没有监听变化的机制。

对于我的webapps,我使用maven和Eclipse,m2e和'Maven Integration for Eclipse WTP'插件。通过该设置,我可以使用Eclipse中的嵌入式Tomcat实例实时查看我的更改,当我完成后,我使用maven进行构建。

给这两个插件一个机会 - 我认为它会满足你的需求。

答案 1 :(得分:0)

我遇到了同样的问题。它发生是因为我运行了maven eclipse:eclipse。然后,服务器停止发布(单击发布并说它已同步)。我再次从cvs和服务器再次下载.classpath和.project以及eclipse项目结构的其他内部文件。可能这可能会有所帮助。

此致

答案 2 :(得分:0)

为了Google员工的利益:

我使用NoClassDefFound启动应用程序时出现tomcat:run错误。

需要一些谷歌搜索,但以下帖子指出,使用tomcat:run-war可以让您的依赖关系从WAR中获取:

http://www.hascode.com/2010/06/java-server-facesjsf-2-tutorial-step-1-project-setup-maven-and-the-first-facelet/

但是,对于调试和热代码替换,最简单的方法是从Eclipse中的Servers视图运行Tomcat。