我有一个以这种方式构造的Web应用程序:
A.jar-> B.war-> C.war
我正在使用Eclipse Juno,并且 WTP版本是1.1 。 A.jar是B.war包含的工作区实用程序项目。 B.war是一个 war 项目,被C.war包括在内。那是the way我正在这样做:
<dependency>
<groupId>com.projects</groupId>
<artifactId>B</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
之后,我将C项目部署到Tomcat服务器。如果我将Maven生成的 war 手动部署到Tomcat,这就像一个魅力,因为WEB-INF/lib中包含A.jar。但是,当我让 m2e-wtp 进行部署时,会出现问题,因为它可以正确地进行覆盖,但不包括A传递依赖项。我尝试将其作为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问题,还是我必须以其他方式组织项目?
编辑过
我注意到m2e-wtp配置存储在Eclipse的project./settings/org.eclipse.wst.common.component文件中。那就是我的 war 的样子:
<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>
如我所见, war 依赖项设置为消耗,而jar依赖项设置为使用。
已发布的m2e-wtp版本0.17似乎无法修复它。
编辑(2013-08-30)
今天,我又回到了同样的问题。即使我开箱即用latest stable release of WTP安装了Eclipse kepler,这个问题似乎仍然存在。我以为它已经解决了,但是我显然错了了。
最佳答案
我认为这不是您的项目组织的问题。您的问题与此m2e-wtp bug report非常相似。