因为某些操作需要,现在需要将一个 Gradle Java 项目的所有依赖的 jar 包导出到某个指定目录。
实践环境:Gradle 6.3
有效代码:
task copyJars(type: Copy) {
from configurations.runtimeClasspath
into "$buildDir/libs/deps"
}
参考文档:https://docs.gradle.org/6.3/dsl/org.gradle.api.Project.html#N16132
不过,runtimeClasspath
仅仅复制了 runtime 作用域的依赖,不包含 test 等作用域。
除了 runtimeClasspath
,configurations 下面还有其他属性,例如:compileClasspath
, testCompileClasspath
, testRuntimeClasspath
, …
运行效果:
在网上看到一些方法,以及参考 StackOverFlow,都没有生效,有可能是版本问题:
how to copy the dependencies libraries JARs in gradle
以下代码都没有生效:
task copyJars(type:Copy) {
from configurations.runtime
into "$buildDir/libs/deps"
}
task copyToLib(type: Copy) {
into "$buildDir/output/libs"
from configurations.compile
}