Java 如何从EclipseIDE向Tomcat部署多maven模块?
我有一个多模块Maven项目,其中有一个公共模块,它是其他两个模块的依赖项。其中一个模块生成一个war,该war通过叠加集成到另一个模块中 最终的war由Maven clean install命令生成,没有问题。目标中的所有结构都正常。 但是如果我在servers视图中安装Tomcat8服务器(使用'takesTomcatControlInstallation'模式)并部署该项目,那将是一场噩梦 我在Java 如何从EclipseIDE向Tomcat部署多maven模块?,java,eclipse,maven,tomcat,Java,Eclipse,Maven,Tomcat,我有一个多模块Maven项目,其中有一个公共模块,它是其他两个模块的依赖项。其中一个模块生成一个war,该war通过叠加集成到另一个模块中 最终的war由Maven clean install命令生成,没有问题。目标中的所有结构都正常。 但是如果我在servers视图中安装Tomcat8服务器(使用'takesTomcatControlInstallation'模式)并部署该项目,那将是一场噩梦 我在WEB-INF/classes中有测试资源,公共模块(jar)没有部署在WEB-INF/lib中
WEB-INF/classes
中有测试资源,公共模块(jar)没有部署在WEB-INF/lib
中,在构建过程中应该集成的war显示在WEB-INF/lib
中
有没有一种方法可以在Maven配置中不添加Tomcat插件而进行干净的部署
作为参考,它是霓虹灯版本。
部署程序集仅配置为src/main/*
(加上Maven依赖项)
我们不理解为什么Eclipse没有部署在
target/xxx
目录中生成的最终应用程序。好的,我发现了问题
Eclipse不关心部署程序集。
它混合了部署程序集和Java构建路径
导入maven项目时,由于未知原因,项目的配置可能不好。
检查Java构建路径中声明的源文件夹,并特别检查每个源文件夹的输出目录
对于src/test/resources
,它设置了一个默认输出(而不是目标/测试类
)。因此,所有测试资源都被复制到target/classes
中。
我不知道他为什么要把这个目录部署到Tomcat上
在部署程序集中,它只设置以下目录:
- src/main/java -> WEB-INF/classes
- src/main/webapp -> /
- /target/m2e-wtp/web-resources -> /
- Maven dependencies -> WEB-INF/lib
- link to others modules
现在一切都很好。等等,在一个大的
war
文件中有很多war
文件吗?也许这就是问题所在。要么使用war
模块化,要么使用jar
模块化。但这两者都不是幻想…是的,不是我的选择。我们已经恢复了一个旧项目,其中有一个War模块,该模块在最终的War中重叠。这个功能在Maven中存在,当我们使用Maven构建时没有问题。我们尝试了另一个经典的projet,与Eclipse相同的pb(没有项目方面,没有部署程序集)。Eclipse似乎不是第一次无法管理该项目。很无聊。他为什么不部署最终的目标构建?