【问题标题】:How to use Apache ivy to resolve dependency with multiple files?如何使用 Apache ivy 解决多个文件的依赖关系?
【发布时间】:2011-01-24 14:47:13
【问题描述】:

这是我的 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?

谢谢

【问题讨论】:

    标签: java ant ivy


    【解决方案1】:

    我假设您刚刚在本地下载了 jar 包?除非您还为下载的文件编写一个 ivy.xml 文件,列出与模块关联的工件,否则它将无法工作(参见 ivy.xml 文档的 publications 部分)

    为什么不使用 Spring 提供的 maven 存储库来避免维护自己版本的别人模块的麻烦呢?

    将以下内容添加到您的 ivy-settings.xml 文件中:

    <resolvers>
        <ibiblio name="spring-rcp" m2compatible="true" root="http://spring-rich-c.sourceforge.net/maven2repository"/>
    </resolvers>
    

    【讨论】:

      【解决方案2】:

      虽然 Ivy 可以在单个 JAR 文件上使用依赖项,但如果为依赖项本身定义单独的 ivy.xml 文件(指定 4 个单独的 JAR 文件),效果会更好。这个ivy.xml 定义了 Ivy 所说的模块。

      然后,您的应用程序的 ivy.xml 表示对该模块的依赖,而不是对特定 JAR 文件的依赖。

      Ivy 网站上有一个关于模块的教程,我强烈推荐阅读它

      http://ant.apache.org/ivy/history/latest-milestone/tutorial/conf.html

      【讨论】:

        猜你喜欢
        • 2016-10-11
        • 2016-01-06
        • 2011-11-13
        • 2011-12-11
        • 2012-12-24
        • 2013-02-14
        • 2019-11-04
        • 2011-01-24
        • 2013-02-11
        相关资源
        最近更新 更多