【发布时间】:2017-07-04 23:34:56
【问题描述】:
等级:如何从公共存储库中的 jar 中排除一些 java 类?
例如,存储库中的 foo.jar 依赖于 bar1.jar、bar2.jar
foo.jar
bar1.jar
bar2.jar
从 foo.jar 中删除“javax/**”,将其添加到 runtimeOnly 配置中
dependencies {
runtimeOnly foo-changed.jar, bar1.jar, bar2.jar
}
试过
configurations {
changeFoo
}
dependencies {
changeFoo "group:foo:1.0" // contains foo.jar, bar1.jar, bar2.jar
}
task changeFoo(type: Jar) {
def jarFile = configurations.changeFoo.singleFile // error: more than one file
from zipTree(jarFile) {
exclude 'javax/**'
}
destinationDir project.libsDir
archiveName "foo-changed.jar"
}
如何获取单个文件(foo.jar)? 如何将configurations.changeFoo中的foo.jar替换为foo-changed.jar?
dependencies {
runtimeOnly.extendsFrom changeFoo
}
【问题讨论】:
-
我看到你在这里问了很多关于 gradle 的问题,其中大多数已经在堆栈上得到了回答,或者在谷歌上很容易找到,你是否考虑过做一些研究,以及你的问题不清楚并且不是最小、完整和可验证的示例,请考虑遵循这些规则以帮助我们帮助您。顺便说一句,您在上面问了 3 个问题,但我不确定您要达到什么目的
-
其实我在提问之前做了一些搜索。我对 Gradle 完全陌生了大约 2 周。
标签: gradle dependencies