У меня есть веб-приложение, которое структурировано таким образом:
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>
После этого я развертываю проект C на сервере Tomcat. Это работает как шарм, если я вручную разворачиваю войну, созданную Maven, для Tomcat, потому что A.jar включен в WEB-INF/lib. Однако моя проблема возникает, когда я разрешаю m2e-wtp развертывание, потому что он правильно выполняет наложение, но не включает транзитивную зависимость A. Я попробовал включить его в качестве помпы, поскольку я читал где-то здесь, но у меня такой же результат.
<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>
Как я вижу, зависимость войны установлена на потреблять, в то время как зависимости jar зависят от использования.
Выпущенная версия m2e-wtp 0.17, похоже, не исправляет ее.
EDITED (2013-08-30)
Сегодня я вернулся к той же проблеме. Даже у меня есть Eclipse kepler, установленный с последняя стабильная версия WTP из коробки, эта проблема, похоже, сохраняется. Я думал, что это было решено, но я, по-видимому, его не знаю...