У нас есть небольшая транзитивная проблема между Ivy и Maven:
- У нас есть проект под названием
ivylib
.Ivylib
- это проект Ant / Ivy, который зависит от другого проекта под названиемmvnlib
. - Mvnlib зависит от другого проекта под названием
jersey-client
. Это, в свою очередь, зависит отjersey-core
. Оба они являются частьюcom.sun.jersey
groupId
.
В файле Mvnlib pom.xml
у нас есть следующая зависимость:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19</version>
Looking at the jersey-client
project, I see the following dependency in its pom.xml
file:
<profiles>
....
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
В файле ivy.xml
проекта Ivylib у нас есть следующая зависимость:
<dependency org="com.travelclick" name="ivylib"
rev="2.1" conf="compile->default"/>
Все зависимости Mvnlib загружаются и включаются в Ivylib, за исключением вторичной зависимости jersey-core
jar.
Я подозреваю, что это как-то связано с тем, что эта зависимость находится внутри <profile>
зависимости, а не указана в самом файле. Мне было интересно, можно ли как-нибудь загрузить core jar.
На данный момент мы просто включили jersey-core
jar в наш проект Mvnlib, но мне было интересно, есть ли другой способ.