【发布时间】:2019-09-16 19:00:36
【问题描述】:
在我的 gradle 文件中添加依赖项作为实现时,当它们作为运行时配置的一部分列出时,它们不会被包含在内。例如,当尝试将它们放入路径 jar 时,它们会被排除在外:
task pathingJar(type: Jar) {
dependsOn configurations.runtime
appendix = 'pathing'
doFirst {
manifest {
attributes "Class-Path": configurations.runtime.files.collect {
it.toURL().toString().replaceFirst(/file:\/+/, '/')
}.join(' ')
}
}
}
但是,当将这些作为编译依赖项移回时,这是可行的。这个问题现在在编译时我的类路径要大得多。我的理解是实现应该被视为直接消费者和运行时传递的编译时间,那么为什么将它们排除在该配置之外?当将它们指定为“api”时,这也不起作用。这是使用 gradle 5.6.1。
【问题讨论】:
标签: gradle