Ant Ivy依赖解析

时间:2010-11-23 18:55:26

标签: java ant dependencies ivy

我有以下依赖关系:

<dependency org="foo" name="bar" rev="1.0" conf="war-runtime->runtime" />

但是,我想让它解决的jar称为 foo_bar-g.jar

目前它尝试foo_bar.jar失败,因为jar不存在。

我可以指定jar中的名称或依赖项中的模式吗?

我有一个ivy-settings.xml文件中指定的解析程序列表,但此文件在其他应用程序中共享,因此我无法对其进行更改。

2 个答案:

答案 0 :(得分:2)

我想出来了:

ivy_settings.xml中添加自定义解析器:

  <resolvers>    
    <filesystem checkconsistency="false" checkmodified="true" name="foo.bar">
      <artifact pattern="//path/to/foo_bar-g.[ext]"/>
    </filesystem>
  </resolvers>

说明您要将此解析程序用于bar模块。

  <modules>
    <module name="bar" organisation="foo" resolver="foo.bar"/>
  </modules>

然后在ivy.xml

<dependency org="foo" name="bar" rev="1.0">
        <artifact name="bar" type="jar" ext="jar" conf="war-runtime->runtime"/>
</dependency>

答案 1 :(得分:0)

我没有完全按照此处所述的问题进行操作。依赖语句应该查看如何在foo.bar ivy.xml中定义“运行时”配置。这就是它在存储库中说明要查看的jar文件的位置。

获取后,将根据解析器的设置方式将文件复制下来。通常是bar-1.0.jar

问题出在哪里?在决议?或者它是否正在解析并且本地文件的命名方式与您想要的不同?