此处http://ant.apache.org/ivy/history/trunk/use/retrieve.html的文档不清楚。
"逗号分隔的已接受工件类型列表(自1.4起)"
我见过的例子:
<ivy:retrieve pattern="${libs.dir}/[artifact]-[revision]-[type].[ext]" />
<ivy:retrieve type="jar" pattern="${libs.dir}/[artifact]-[revision]-[type].[ext]" />
<ivy:retrieve type="source" pattern="${libs.dir}/[artifact]-[revision]-[type].[ext]" />
答案 0 :(得分:0)
type
属性对应于依赖描述符(ivy.xml
file)的publications
部分中声明的依赖项工件的类型。在您自己的依赖项中,您通常可以根据逻辑注意事项使用任何类型的值。对于可运行的jar,对于打包的文档jar
,您使用source
类型,对于打包的文档docs
等。从概念上讲,它接近工件文件扩展名。
<publications>
<artifact name="${module.artifact.jar.name}" type="jar" ext="jar" conf="master" />
<artifact name="${module.artifact.src.name}" type="source" ext="jar" conf="sources" />
</publications>
当你依赖第三方库时,type
的值将相应地等于其ivy.xml中声明的值(或者将通过如何从maven pom自动转换ivy.xml的方式来定义.xml如果使用maven repo)。我猜一个bundle
类型的工件已准备好在osgi环境中使用(不确定)。
我想说通常你不必在type
任务中指定retrieve
。相反,您指定配置conf
(如maven中的范围),配置将带来publications->artifact
ivy.xml
部分中映射到它的那些类型。例如,当您检索master
conf时,会检索jar
类型的工件;当您要求检索sources
conf时,会出现source
类型的工件。