常春藤检索与分类器

时间:2013-05-02 17:27:34

标签: ivy

我有以下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.jar和fubar-1.3-jar`中。这样做是否有简单方式?我知道我可以创建两种不同的配置,但这太过分了。我宁愿把罐子命名为,因为它确实不会影响战争本身。

1 个答案:

答案 0 :(得分:11)

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

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