假设我在build.gradle中定义了这个依赖项:
dependencies {
classpath "org.codehaus.groovy:groovy-all:2.4.0"
classpath "com.opencsv:opencsv:3.1"
}
有没有办法让我获得由上述依赖关系产生的2 .jar文件的绝对文件路径位置,作为List对象?
答案 0 :(得分:15)
以下代码将完成这项工作:
apply plugin: 'java'
repositories {
mavenCentral()
}
configurations {
lol
}
dependencies {
lol "org.codehaus.groovy:groovy-all:2.4.0"
lol "com.opencsv:opencsv:3.1"
}
task printLocations << {
configurations.lol.files.each { println it }
}
不知道你的目标是什么,但总的来说,这是最佳选择。
答案 1 :(得分:1)
是的,您可以从Configurations对象获取物理路径位置。参考:http://discuss.gradle.org/t/what-is-the-best-way-to-resolve-the-physical-location-of-a-declared-dependency/6999
答案 2 :(得分:1)
这就是我更明确地做到的方式:
project.buildscript.configurations.classpath.each {
String jarName = it.getName();
print jarName + ":"
}