我有以下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`中。这样做是否有简单方式?我知道我可以创建两种不同的配置,但这太过分了。我宁愿把罐子命名为,因为它确实不会影响战争本身。
答案 0 :(得分:11)
使用括号指定属性模式的可选组件:
<ivy:retrieve
pattern="${lib.dir}/[artifact](-[classifier])-[revision].[ext]"
conf="runtime"/>