Зависимость "compile" не включена в сборку - PullRequest
0 голосов
/ 09 июня 2010

В POM моего проекта указана следующая зависимость:

 <dependency>
  <groupId>org.jboss.client</groupId>
  <artifactId>jbossall-client</artifactId>
  <scope>compile</scope>
 </dependency>

Мой проект сам по себе должен быть дочерним по отношению к другому POM.И в этом определено следующее:

<dependency>
   <groupId>org.jboss.client</groupId>
   <artifactId>jbossall-client</artifactId>
   <version>4.2.3.GA</version>
   <scope>provided</scope>
   <type>jar</type>
</dependency>

Когда я сейчас собираю свою программу, кажется, что «предоставленная» область родительского POM переопределяет область моего проекта, так как jbossall-client.jarне входит в мою сборку.Хотя мне это кажется нелогичным, может быть, эта функция вступает в силу здесь.

Вы знаете способ включить зависимость в мою сборку, не касаясь родительского POM?


Редактировать: Вывод mvn dependency-tree (Обновлено!):

[dependency:tree]
com.myproject:myproject:jar:0.0.1-SNAPSHOT
+- com.myproject-commons:jar:1.0-SNAPSHOT:compile
|  +- commons-logging:commons-logging:jar:1.0.4:compile
|  +- log4j:log4j:jar:1.2.14:compile
|  +- sv.seucc:seucc-unicode:jar:1.0.1.5:compile
|  +- commons-lang:commons-lang:jar:2.2:compile
|  +- com.thoughtworks.xstream:xstream:jar:1.2.1:compile
|  \- xpp3:xpp3_min:jar:1.1.3.4.O:compile
+- com.myproject-interfaces2:jar:1.0-SNAPSHOT:compile
|  \- com.myproject-service-commons:jar:1.0-SNAPSHOT:compile
+- org.springframework:spring:jar:2.5.6:compile
+- commons-io:commons-io:jar:1.3.1:compile
+- com.myproject-modules:ejb:1.0-SNAPSHOT:compile
\- org.jboss.client:jbossall-client:jar:4.2.3.GA:compile

Редактировать 2: Здесь часть зависимостей моей сборкиXML.

 <dependencySets>
  <dependencySet>
   <outputDirectory>lib</outputDirectory>
  </dependencySet>
 </dependencySets>

Редактировать 3: Вот файлы в папке lib моей полученной сборки.

commons-io-1.3.1.jar
commons-lang-2.2.jar
commons-logging-1.0.4.jar
log4j-1.2.14.jar
seucc-unicode-1.0.1.5.jar
spring-2.5.6.jar
xpp3_min-1.1.3.4.O.jar
xstream-1.2.1.jar
myproject-commons-1.0-SNAPSHOT.jar
myproject-modules-1.0-SNAPSHOT.jar
myproject-service-commons-1.0-SNAPSHOT.jar
myproject-interfaces2-1.0-SNAPSHOT.jar
myproject-0.0.1-SNAPSHOT.jar

Изменить 4: Для ответа на этот вопрос см. Заключительные комментарии правильного ответа.

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Обе зависимости не имеют одинакового groupId, поэтому здесь ничего не переопределяется, они рассматриваются как отдельные артефакты.Но мне интересно, как обстоят дела у вашего ребенка (так как jbossall-client не имеет никакой версии).Есть ли у вас секция dependencyManagement?

В любом случае, чтобы "отладить" эту проблему, используйте mvn dependency:tree в своем дочернем проекте (и опубликуйте результаты, если вам нужна дополнительная помощь).1008 *

Обновление: Выше был мой ответ на первоначальный вопрос, и он не отражает текущее состояние вопроса.

Для ясности ключом окончательного решения было объявить <scope>compile</scope> (по умолчанию runtime) в элементе dependencySet дескриптора сборки.Подробности см. В комментариях.

См. Также

0 голосов
/ 28 марта 2011

У нас возникла та же проблема, и мы решили ее, добавив 2-й комплект зависимостей, предоставленный в данной области, НО это сработало только после того, как мы обновились до версии 2.2.1 плагина сборки.

...