如何从Eclipse IDE向Tomcat部署多maven模块?

时间:2017-03-29 08:03:26

标签: java eclipse maven tomcat

我有一个多模块Maven项目,它有一个公共模块,它是另外两个模块的依赖项。其中一个模块生成一个战争,通过叠加层集成在另一个战争中。

最终的战争是由Maven clean install命令生成的,没有问题。目标中的所有结构都可以。 但是,如果我在服务器视图中安装Tomcat 8服务器(使用'采用Tomcat控件安装'模式)并部署项目,那将是一场噩梦......

我在WEB-INF/classes中有测试资源,公共模块(jar)没有部署在WEB-INF/lib中,应该在构建过程中集成的战争显示在WEB-INF/lib。< / p>

如果没有在Maven配置中添加Tomcat插件,有没有办法进行干净部署?

有关信息,它是霓虹灯版本。 部署程序集仅配置src/main/*(加上Maven依赖项)。

我们不明白Eclipse为什么不部署在target/xxx目录中生成的最终应用程序。

1 个答案:

答案 0 :(得分:1)

好的,我发现了问题。

Eclipse并不关心Deployment Assembly。 它混合了部署程序集和Java构建路径。

导入maven项目时,由于未知原因,项目的配置可能会很糟糕。 检查Java Build Path中声明的sources文件夹,并特别检查每个源文件夹的输出目录。

对于src/test/resources,它设置默认输出(不是target/test-classes)。因此,所有测试资源都被复制到target/classes。 而且我不知道为什么他将这个目录部署到Tomcat。

在Deployment Assembly中,它只设置了这些目录:

   - src/main/java -> WEB-INF/classes
   - src/main/webapp -> /
   - /target/m2e-wtp/web-resources -> /
   - Maven dependencies -> WEB-INF/lib
   - link to others modules

现在一切都很完美。