【发布时间】:2013-01-21 14:10:12
【问题描述】:
我有一个这样构造的网络应用程序:
A.jar -> B.war -> C.war
我使用的是 Eclipse Juno,WTP 版本是 1.1。 A.jar 是 B.war 包含的工作空间实用程序项目。 B.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 生成的战争部署到 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>
我正在使用最新版本的 m2e (1.2) 和 m2e-wtp (0.16) 并使用 Maven 配置更新我的项目。
这是 m2e-wtp 问题还是我必须以其他方式组织我的项目?
已编辑
我注意到 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>
正如我所见,war 依赖项设置为 consume,而 jar 依赖项设置为 use。
发布的 m2e-wtp 0.17 版似乎没有修复它。
已编辑 (2013-08-30)
今天我又回到了同样的问题。即使我安装了开箱即用的latest stable release of WTP Eclipse 开普勒,这个问题似乎仍然存在。我以为它已经解决了,但我显然错误地检查了它......
【问题讨论】:
-
是的。仍然看到 m2e-wtp 的问题 - WTP(孵化)版本 0.17.0.20130212 的 Maven 集成。
标签: eclipse maven m2e eclipse-wtp