我有以下相当简单的build.gradle
构建脚本:
repositories {
mavenCentral()
}
configurations { libs }
dependencies {
libs 'org.hibernate:hibernate-core:4.3.5.Final'
}
configurations.libs.files { println it }
当我使用gradlew build
运行时(我正在使用 Gradle 1.12 ,目前最新版本),我得到以下内容:
DefaultExternalModuleDependency{group='org.hibernate', name='hibernate-core', version='4.3.5.Final', configuration='default'}
DefaultExternalModuleDependency{group='org.hibernate', name='hibernate-core', version='4.3.5.Final', configuration='default'}
这些似乎是相同的依赖项,但我不明白为什么当我只添加一个时,有两个。
有谁知道为什么?我做错了什么?或者有什么我不明白的东西?
答案 0 :(得分:1)
Configuration#files
方法需要谓词。 (有关API详细信息,请参阅Gradle Build Language Reference中的Configuration
。)如果您传递一个包含println
语句的闭包,(看似)会发生奇怪的事情。您可能需要以下内容:
// configurations should only be resolved in
// the execution phase, so let's declare a task
task printLibs {
doLast {
configurations.libs.each { println it }
}
}