我们在Ivy和Maven之间有一些传递问题:
ivylib
的项目。 Ivylib
是一个Ant / Ivy项目,依赖于另一个名为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>
查看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>
依赖项中的依赖关系有关,而不是在文件本身中列出。我想知道是否还有核心 jar下载。
目前,我们只是简单地参与了Mvnlib项目中的jersey-core
jar,但我想知道是否还有另一种方式。
答案 0 :(得分:0)
最好的办法是检查您的缓存位置以确定您的IVY。一旦我查看了jersey-client的依赖列表,我注意到了#34; jersey-core&#34;不是其中之一。请参阅下面从POM生成的ivy-1.19.xml文件:
<dependencies>
<dependency org="junit" name="junit" rev="4.8.2" force="true" conf="test->runtime(*),master(*)"/>
<dependency org="com.sun.net.httpserver" name="http" rev="20070405" force="true" conf="test->runtime(*),master(*)"/>
<dependency org="org.osgi" name="osgi_R4_core" rev="1.0" force="true" conf="provided->compile(*),provided(*),runtime(*),master(*)"/>
...
</dependencies>
我只想在我的常春藤文件中添加另一个依赖项。复制/粘贴&#34; jersey-cleint&#34;依赖行并改为&#34; jersey-core&#34;。如果POM有&#34; jersey-core&#34;那将是很好的。尽管不是正确列出的吗? : - )