我们使用内部常 Spring 藤存储库,正在逐步远离 Ant /常 Spring 藤,并在gradle中执行任务 . 我将我的常 Spring 藤存储库设置为gradle,如下所示:
repositories {
ivy {
url "${ivy_repository_url}"
layout "pattern", {
ivy "repository/[organisation]/[module]/[revision]/[artifact].[ext]"
artifact "repository/[organisation]/[module]/[revision]/[artifact].[ext]"
m2compatible = true
}
credentials {
username "${ivy_repository_username}"
password "${ivy_repository_password}"
}
}
}
并且在执行任务时它会按预期解析,但是,在某些情况下,如果命名约定不匹配,它会删除存储库中的所有内容,因此我最终得到了许多额外的东西,javadocs.zip,sources.zip和所有内容其他 .
为了解决这个问题,我想首先将特定的jar文件下载到temp文件夹,然后从本地编译它们,但我不知道如何告诉gradle下载一个名称与模块名称不同的文件 .
例:
ivyFiles'net.sourceforge.jtidy:jtidy:r938 @ jar'
从 net.sourceforge.jtidy 存储库下载 jtidy-r938.jar 但是类似于
ivyFiles的com.gargoylesoftware:htmlunit:2.7@jar'
会拉 htmlunit-2.7.jar 而不是文件 htmlunit-core-js-2.7.jar .
如果我省略了@jar,它将恢复为调用 ivy.xml 文件,并且我留下了我想要避免的所有垃圾依赖项 . 我试过以下但没有成功
ivyFiles ('com.gargoylesoftware:htmlunit:2.7'){
artifact{
name = 'htmlunit-core-js'
type = 'jar'
}
}
必须有办法做到这一点 .
谢谢
1 回答
我想到了 . 这就是我最终做的事情
现在只下载了 htmlunit-core-js-2.7.jar 文件