我有一个以这种方式构建的Web应用程序:
a.jar文件- > B.war - > C.war
我使用Eclipse朱诺和WTP版本是1.1。 该a.jar文件是被包含在由B.war工作空间实用项目。 B.war是由C.war包括作为覆盖一战项目。 这是方式 ,我这样做:
<dependency>
<groupId>com.projects</groupId>
<artifactId>B</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
在那之后,我部署C ++项目到Tomcat服务器。 这就像一个魅力,如果我手动部署的Maven产生战争到Tomcat,因为a.jar文件包括在WEB-INF / lib目录下 。 然而,当我让M2E-WTP做部署,因为它是做正确的覆盖,但不包括传递依赖我的问题就来了。 我试着包括它作为一个POM,因为我读的地方在这里,但我有同样的结果。
<dependency>
<groupId>com.projects</groupId>
<artifactId>B</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.projects</groupId>
<artifactId>B</artifactId>
<version>1.0-SNAPSHOT</version>
<type>pom</type>
</dependency>
我使用M2E(1.2)和M2E-WTP(0.16)的最新版本,并与Maven配置更新我的项目。
它是一个M2E-WTP问题,或者干脆做我要组织我的项目,其他的方式?
EDITED
我注意到M2E-WTP配置保存到Eclipse的project./settings/org.eclipse.wst.common.component文件。 这就是如何查找我的战争:
<dependent-module deploy-path="/"
handle="module:/overlay/prj/B?includes=**/**&excludes=META-INF/MANIFEST.MF">
<dependency-type>consumes</dependency-type>
</dependent-module>
<dependent-module deploy-path="/"
handle="module:/overlay/slf/?includes=**/**&excludes=META-INF/MANIFEST.MF">
<dependency-type>consumes</dependency-type>
</dependent-module>
我可以看到战争的依赖性设置为消费而罐子依赖性设置使用 。
发布M2E-WTP版本0.17似乎并没有解决它。
编辑(2013年8月30日)
今天,我又回到了同样的问题。 即使我与Eclipse安装开普勒WTP的最新的稳定版本的开箱,这个问题似乎仍然存在。 我认为这是解决了,但我显然mischeck它...