我想使用ivy:resolve下载工件,但使用的是使用[conf]属性的模式 . 所以我在 IvySettings.xml 中定义了以下内容
<caches defaultCacheDir="${env.IvyLib}\cache" artifactPattern="[conf]\[artifact].[ext]" checkUpToDate="false" />
注意模式
artifactPattern="[conf]\[artifact].[ext]"
,所以我想解决依赖关系并根据其配置将它们放在一个文件夹中 . 我在 Ivy.xml 中定义了以下配置
<configurations>
<conf name="ConfGroup1" description="First group of dependencies"/>
<conf name="ConfGroup2" description="Second group of dependencies"/>
</configurations>
<dependencies>
<dependency org="derby-db" name="derby-db" rev="10.2.2.0" conf="ConfGroup1->default">
<artifact name="derby-db" type="zip" ext="zip" />
</dependency>
<dependency org="derby-db" name="derby-db" rev="10.4.1.3" conf="ConfGroup2->default">
<artifact name="derby-db" type="zip" ext="zip" />
</dependency>
</dependencies>
现在,依赖关系得到了很好的解决,但是只为配置创建了一个文件夹: default . 没有为ConfGroup1和ConfGroup2配置创建任何文件夹 . 如何在解析期间根据我定义的配置创建多个文件夹?
P.S.,我知道这可以使用常 Spring 藤来实现:检索,但我不想使用它,因为它将涉及在ivy:resolve之后将常 Spring 藤缓存中的工件复制到另一个地方,并且我有数千兆字节的工件 . 单独复制它们会在构建期间产生额外的开销,由于项目要求,我无法负担 .
1 回答
常 Spring 藤retrieve task有一个符号链接选项,可用于节省空间 .
示例
build.xml
ivy.xml
ivysettings.xml