4

我有以下内容ivy.xml

<ivy-module version="1.0"
    xmlns:maven="http://maven.apache.org">

    <configurations>
    ...
    </configurations>

    <dependencies>
        <dependency org="com.foo"   name="fubur"
            rev="1.3"    conf="runtime->default"/>
        <dependency org="com.snafu" name="barfu"
            rev="1.4"    conf="runtime->default">
            <artifact name="barfu" 
                maven:classifier="ID_10T" 
                type="jar" ext="jar"/>
        </dependency>
    </dependencies>
</ivy-module>

在我的build.xml中,我想为我正在建立的战争检索我所有的罐子:

  <ivy:retrieve 
     pattern="${lib.dir}/[artifact]-[classifier]-[revision].[ext]"
     conf="runtime"/>

不,那行不通... . 中没有分类器fubar-1.3.jar。它将下载为fubar--1.3.jar

  <ivy:retrieve 
     pattern="${lib.dir}/[artifact]-[revision].[ext]"
     conf="runtime"/>

那也不好。barfu-ID_10T-1.4.jar将下载为barfu-1.4.jar.

我希望我的战争中的罐子被包含在barfu-ID_10T-1.4.jarfubar-1.3-jar 中。有没有一种简单的方法可以做到这一点?我知道我可以创建两种不同的配置,但这太过分了。我宁愿把罐子命名为错误名称,因为它真的不会影响战争本身。

4

1 回答 1

11

使用括号指定属性模式的可选组件:

<ivy:retrieve 
     pattern="${lib.dir}/[artifact](-[classifier])-[revision].[ext]"
     conf="runtime"/>
于 2013-05-02T18:50:23.233 回答