如何获取.jar依赖项的文件路径位置?

时间:2015-04-08 01:29:42

标签: gradle

假设我在build.gradle中定义了这个依赖项:

dependencies {
    classpath "org.codehaus.groovy:groovy-all:2.4.0"
    classpath "com.opencsv:opencsv:3.1"
}

有没有办法让我获得由上述依赖关系产生的2 .jar文件的绝对文件路径位置,作为List对象?

3 个答案:

答案 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 + ":"
}

这是my build script URL