【问题标题】:Ivy Retrieve with Classifiers常春藤检索与分类器
【发布时间】:2013-04-26 23:39:38
【问题描述】:

我有以下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

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

【问题讨论】:

    标签: ivy


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 2011-10-26
    • 2010-11-12
    • 2013-01-12
    • 2013-07-10
    • 1970-01-01
    • 2018-04-04
    • 2017-02-23
    • 2013-05-07
    • 2012-01-13
    相关资源
    最近更新 更多