2013-05-13 86 views
7

我正在運行gradle,並且以前一直在運行groovy 1.76。我現在更新到我的本地機器groovy(groovy_home指向groovy 2.1.2等)。檢查Groovy版本Gradle正在使用

$ groovy -version 
Groovy Version: 2.1.2 JVM: 1.7.0_17 Vendor: Oracle Corporation OS: Linux 

然而,當我運行gradle這個命令(gradle這個測試類等),我相信這是不是對建設2.1.2常規,但實際上仍然是建立對1.76。 (我相信這個的原因是,當我執行類時,我一直得到這個錯誤Upgrading Groovy 1.7 - 2.1 Incompatability,這與後1.76發生的變化有關)

有沒有一種方法來確認我的gradle安裝建立哪個版本的groovy ?

另外,任何人都可以確認我應該配置gradle的groovy版本嗎?

+0

你更新了'PATH'來確認它是正確的嗎? – raffian 2013-05-13 17:05:31

回答

5

您正在構建哪個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" 
} 
+0

完美的感謝 - 是一個白癡,完全錯過了groovy依賴聲明! – rhinds 2013-05-14 09:30:07

12

雖然試圖gradle這個運行時檢查常規版本,我發現你還可以打印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()可用,因爲Gr oovy 1.6.9

相關問題