gpt4 book ai didi

java - 无版本 gradle 依赖项

转载 作者:行者123 更新时间:2023-11-30 06:22:13 26 4
gpt4 key购买 nike

当我这样做时

dependencies {
file('libs/something.jar')
}

我的发行版中有 something.jar。但是,当我将依赖项推送到远程存储库(ivy 或 maven)并想从那里使用它时,gradle 总是向 jar 添加版本后缀。

dependencies {
compile group: 'org.company', name: 'something', version: '1.0'
}

结果为something-1.0.jar

连这个

dependencies {
compile group: 'org.company', name: 'something'
}

结果为something-.jar(注意破折号)。

我可以以某种方式阻止存储库依赖项有一个版本吗?

(我的动机是该 jar 是第 3 方 jar,我不想将它放在 git repo 中,但我也不希望更改它的名称。)

最佳答案

正如您所说,您可以在存储库中为工件提供一个版本。您只是不希望应用程序中的 jar 中有一个版本。你可以这样做

configurations {
something { transitive = false }
}
dependencies {
something 'org.company:something:1.0'
something 'org.company:something-else:1.0'
compile files(tasks['dummyTask'])
compile 'org.foo:some-normal-dep:1.1'
}
task copySomething(type:Copy) {
from configurations.something
into "$buildDir/something"
rename '(.+)-.+?\\.jar', '$1.jar'
}
task dummyTask {
dependsOn copySomething
inputs.dir "$buildDir/something"
outputs.files fileTree("$buildDir/something")
}

实现这一点的主要插入因素是 Project.files(...)可以接受任务

关于java - 无版本 gradle 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47888966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com