检查Gradle正在使用的Groovy版本

rhi*_*nds 14 groovy gradle

我正在运行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
Run Code Online (Sandbox Code Playgroud)

但是,当我运行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()
}
Run Code Online (Sandbox Code Playgroud)

例如:

$ ~/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
Run Code Online (Sandbox Code Playgroud)

注意 - GroovySystem.getVersion()自Groovy 1.6.9起可用


Pet*_*ser 8

您正在构建的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"
}
Run Code Online (Sandbox Code Playgroud)


use*_*030 5

在 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)
Run Code Online (Sandbox Code Playgroud)

在 Linux 上,命令为:gradle --v