2013-05-02 110 views
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.jar和fubar-1.3-jar`。有没有容易这样做?我知道我可以创建两种不同的配置,但这是矫枉过正。我宁愿让罐子错失,因为它确实不会影响战争本身。

回答

11

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

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

你的意思是_parentheses_? – Alex 2013-05-02 19:52:40

+0

@Alex我站在部分更正thx :-)见http://en.wikipedia.org/wiki/Bracket – 2013-05-03 19:27:00

+0

英语方言会将这些描述为括号。 – Marcin 2016-08-10 23:11:53