我正在运行gradle并且之前一直在运行groovy 1.76.我现在更新到我的本地机器groovy(groovy_home指向groovy 2.1.2等).
$ groovy -version
Groovy Version: 2.1.2 JVM: 1.7.0_17 Vendor: Oracle Corporation OS: Linux
但是,当我运行gradle命令(gradle测试,类等)时,我认为它不是针对groovy 2.1.2构建的,但实际上仍然是针对1.76构建的.(我相信这个的原因是,当我执行这些类时,我一直得到这个错误升级Groovy 1.7 - 2.1不兼容,这与1.76后的更改有关)
有没有办法确认我的gradle安装的groovy版本是针对什么版本的?
此外,任何人都可以确认我应该在哪里为gradle配置groovy版本?
Alb*_*rto 21
在gradle运行期间尝试检查groovy版本时,我发现您还可以打印Groovy版本:
task version << {
    println "Gradle version: " + project.getGradle().getGradleVersion()
    println "Groovy version: " + GroovySystem.getVersion()
}
例如:
$ ~/usr/gradle-1.8/bin/gradle -q version
Gradle version: 1.8
Groovy version: 1.8.6
$ ~/usr/gradle-2.1/bin/gradle -q version
Gradle version: 2.1
Groovy version: 2.3.6
注意 - GroovySystem.getVersion()自Groovy 1.6.9起可用
您正在构建的Groovy库(以及您正在使用的Groovy编译器)由哪个Groovy库驻留在compile(或者,在早期的Gradle版本中groovy)配置决定.通常,Groovy依赖项是显式配置的,但它也可以通过传递依赖关系管理来引入.(如果版本冲突,默认情况下更高版本会获胜.您在计算机上安装的Groovy版本无关紧要.)gradle dependencyInsight --configuration compile --dependency groovy应提供答案.
以下是通常配置Groovy依赖项的方法:
apply plugin: "groovy"
repositories {
    mavenCentral() // or some other repository containing a Groovy library
}
dependencies {
    // in Gradle 1.4 or earlier, replace 'compile' with 'groovy'
    compile "org.codehaus.groovy:groovy-all:2.1.2"
}
在 Windows 中,您可以使用以下命令检查它:gradlew --v
------------------------------------------------------------
Gradle 6.2
------------------------------------------------------------
Build time:   2020-02-17 08:32:01 UTC
Revision:     61d3320259a1a0d31519bf208eb13741679a742f
Kotlin:       1.3.61
Groovy:       2.5.8
Ant:          Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM:          15.0.2 (Oracle Corporation 15.0.2+7-27)
在 Linux 上,命令为:gradle --v
| 归档时间: | 
 | 
| 查看次数: | 15620 次 | 
| 最近记录: |