Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为tomcat发布:在Maven上运行_Java_Eclipse_Jakarta Ee_Tomcat_Maven - Fatal编程技术网

Java 为tomcat发布:在Maven上运行

Java 为tomcat发布:在Maven上运行,java,eclipse,jakarta-ee,tomcat,maven,Java,Eclipse,Jakarta Ee,Tomcat,Maven,我正在考虑在我的Spring项目中使用Maven 3,我一直在使用Eclipse和Tomcat进行开发。直到现在 我一直在禁用“自动重新发布”,因为有时我不需要发布,我只保存.java文件(类),并在调试模式下进行开发 我只在更改js、jsp或htm类文件而不是类文件时才重新发布(通过单击Servers视图上Eclipse的“publish”按钮),这样我就可以在不重新启动Tomcat的情况下继续开发 现在我将使用Maven进行调试/运行开发,但每当我更改代码时,我都不知道如何在Maven上

我正在考虑在我的Spring项目中使用Maven 3,我一直在使用Eclipse和Tomcat进行开发。直到现在

  • 我一直在禁用“自动重新发布”,因为有时我不需要发布,我只保存.java文件(类),并在调试模式下进行开发
  • 我只在更改js、jsp或htm类文件而不是类文件时才重新发布(通过单击Servers视图上Eclipse的“publish”按钮),这样我就可以在不重新启动Tomcat的情况下继续开发

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

不幸的是,是的,每次更改都必须运行maven

Maven不是真正打算这样使用的——它假设您准备好构建时(即开发之后)将使用Maven,但如果您试图实时查看更改,则使用Eclipse之类的工具。它没有监听变化的机制

对于我的Web应用程序,我使用maven和Eclipse,以及m2e和“maven集成Eclipse WTP”插件。通过这种设置,我可以使用Eclipse中的嵌入式Tomcat实例实时查看我的更改,完成后,我使用maven进行构建


试一试这两个插件——我想它会满足您的需要。

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


关于,

为了谷歌的利益:

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

谷歌搜索了一下,但下面的帖子指出,使用
tomcat:runwar
可以从战争中获取依赖项:


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

非常感谢。我已经安装了m2e,但我无法获得WTP的实际功能。现在我知道你的答案插件的名称。我正在努力。