[英]How to use Apache ivy to resolve dependency with multiple files?
这是我的ivy.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
...
<dependencies>
<dependency org="spring" name="richclient" rev="1.1.0"/>
</dependencies>
</ivy-module>
和ivy-settings.xml:
<property name="ivy.local.default.root" value="/home/---/dev/Java/_libraries/_ivy" override="false"/>
<property name="ivy.local.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
<resolvers>
<filesystem name="local">
<ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" />
<artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" />
</filesystem>
</resolvers>
常春藤尝试找到/home/---/dev/Java/_libraries/_ivy/spring/richclient/1.1.0/jars/richclient.jar
这就是问题所在。 图书馆有4个jar文件。
如何从ivy.xml中的一个依赖项将项目中的所有jar都包含在内?
谢谢
我假设您刚刚在本地下载了jars? 除非您还为下载的文件编写一个ivy.xml文件,并列出与该模块关联的工件,否则它将不起作用(请参阅ivy.xml doco的出版物部分)
为什么不通过使用Spring提供的Maven存储库来避免维护自己的其他模块版本的麻烦呢?
将以下内容添加到您的ivy-settings.xml文件中:
<resolvers>
<ibiblio name="spring-rcp" m2compatible="true" root="http://spring-rich-c.sourceforge.net/maven2repository"/>
</resolvers>
尽管Ivy可以使用单个JAR文件上的依赖项来工作,但如果为依赖项本身定义了单独的ivy.xml
文件(它指定了4个单独的JAR文件),则效果更好。 这个ivy.xml
定义了Ivy所谓的模块。
然后,应用程序的ivy.xml
表示对该模块的依赖性,而不是对特定JAR文件的依赖性。
常春藤网站上有关于模块的教程,我强烈建议阅读
http://ant.apache.org/ivy/history/latest-milestone/tutorial/conf.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.