【发布时间】:2015-05-29 13:52:54
【问题描述】:
我们在 Ivy 和 Maven 之间遇到了一点传递问题:
- 我们有一个名为
ivylib的项目。Ivylib是一个 Ant/Ivy 项目,它依赖于另一个名为mvnlib的项目。 - Mvnlib 依赖于另一个名为
jersey-client的项目。这又取决于jersey-core。这两个都是com.sun.jerseygroupId的一部分。
在 Mvnlib pom.xml 文件中,我们有以下依赖:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19</version>
查看jersey-client 项目,我在其pom.xml 文件中看到以下依赖项:
<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>
在Ivylib项目的ivy.xml文件中,我们有如下依赖:
<dependency org="com.travelclick" name="ivylib"
rev="2.1" conf="compile->default"/>
除了jersey-core jar 的二级依赖外,所有Mvnlib 的依赖都被下载并包含在Ivylib 中。
我怀疑它与 <profile> 依赖项中的这种依赖关系有关,而不是在文件本身中列出。我想知道是否有办法让 core jar 下载。
目前,我们只是在 Mvnlib 项目中包含 jersey-core jar,但我想知道是否还有其他方法。
【问题讨论】:
标签: maven ant dependencies ivy