WTP - m2e没有部署传递依赖

Xtr*_*ica 12 eclipse eclipse-wtp maven m2e

我有一个以这种方式构建的Web应用程序:

A.jar - > B.war - > C.war

我正在使用Eclipse Juno,而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>
Run Code Online (Sandbox Code Playgroud)

之后,我将C项目部署到Tomcat服务器.如果我手动将Maven生成的war部署到Tomcat,那就像魅力一样,因为A.jar包含在WEB-INF/lib中.然而,当我让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>
Run Code Online (Sandbox Code Playgroud)

我正在使用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=**/**&amp;excludes=META-INF/MANIFEST.MF">
    <dependency-type>consumes</dependency-type>
</dependent-module>
<dependent-module deploy-path="/"
    handle="module:/overlay/slf/?includes=**/**&amp;excludes=META-INF/MANIFEST.MF">
    <dependency-type>consumes</dependency-type>
</dependent-module>
Run Code Online (Sandbox Code Playgroud)

正如我所看到的,war依赖项设置为consume,而jar依赖项设置为使用.

发布的m2e-wtp版本0.17似乎没有解决它.


编辑(2013-08-30)

今天我回到了同样的问题.即使我已经安装了Eclipse kepler,最新的稳定版本的WTP开箱即用,这个问题似乎仍然存在.我以为它已经解决了,但我显然错误地检查了......

Tho*_*mas 5

我认为这不是您的项目组织的问题.您的问题与m2e-wtp 错误报告非常相似 .