我有一个 Maven 战争项目(称为projectA),它依赖于另一个 Maven 战争(称为projectB)。它们使用覆盖与 maven-war-plugin
. 两个项目具有相同的父级和相同的聚合器(不同于父级)。我可以毫无问题地成功打包最后的战争。这是我正在运行的命令(运行时我处于聚合器级别mvn
):
mvn -am -pl projectA package
反应堆构建顺序是parent ➡ projectB ➡ projectA,一切都很好。
我现在正在尝试tomcat-maven-plugin
在此版本中使用。所以我tomcat-maven-plugin
在 parent pompluginManagement
部分添加了它,并在projectA pom.xml中使用了它。我正在启动tomcat:
mvn -am -pl projectA tomcat:run
反应堆建造顺序保持不变。但是 tomcat 执行是在projectB(这也是一场战争)上运行的,而不是在projectA上运行的。实际上,甚至没有达到projectA构建。
我已经尝试过 org.codehaus.mojo.tomcat-maven-plugin v1.1 和 org.apache.tomcat.maven.tomcat6-maven-plugin v2.1,我发现了相同的行为。
如何让 tomcat 运行最终的projectA?
注意:项目依赖实际上有点复杂,并且还涉及其他子项目(jar),这就是为什么我用-am
(也 make)调用 maven。