考虑以下常春藤依赖项,
<dependency org="org.fusesource.restygwt" name="restygwt" rev="1.3"
conf="gwtcompile->default; compile->default"/>
<dependency org="org.jboss.resteasy" name="resteasy-jaxrs" rev="2.3.4.Final"
conf="compile->compile(*),runtime(*);runtime->runtime(*)"/>
他们依赖于
镜像的公共maven reposhttp:// myivyserver:8888 / mirrored /。
由ivysettings解析器指定链接到...
<url name="mirrored" m2compatible="true">
<artifact
pattern="http://myivyserver:8888/mirrored/${maven2.artifact.pattern}" />
</url>
我可以看到镜像目录完全复制了远程maven repos的文物。
我习惯了Maven,看到eclipse上的buildpath显示了maven依赖。
现在,我正在为项目创建Ivy依赖项。我期待看到类似的,我确实看到,一个类似的Ivy依赖节点显示了Ivy eclipse插件所有的jar。
但是,eclipse buildpath中的Ivy依赖节点不会显示镜像poms传递的任何jar。
例如,
<dependency org="org.fusesource.restygwt" name="restygwt" rev="1.3"
conf="gwtcompile->default; compile->default"/>
<dependency org="org.jboss.resteasy" name="resteasy-jaxrs" rev="2.3.4.Final"
conf="compile->compile(*),runtime(*);runtime->runtime(*)"/>
两个依赖项'pom指定对javax.ws.rs(jsr311-api)的依赖
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
然而,javax.ws.rs(jsr311-api)并没有出现在常春藤托管项目的构建路径库中,就像Maven管理的那样。
我还需要做些什么来获得ivy插件来解决maven poms引起的传递依赖?
谢谢。
答案 0 :(得分:1)
URL解析器考虑maven布局但不考虑pom依赖关系。当我实现这个功能时,ibiblio解析器能够解决pom的依赖关系。
http://ant.apache.org/ivy/history/latest-milestone/resolver/ibiblio.html
<ibiblio name="maven2" m2compatible="true" root="http://myivyserver:8888/mirrored">
我没有长时间使用它,因为我更喜欢我的代码中的非传递依赖项,所以我已经完成了使用纯url解析器。