2015-10-08 87 views
0

我剛剛開始使用Gradle,幾乎可以肯定地錯過了一些明顯的東西。我的系統默認安裝了Java 7,但我希望所有的Gradle項目都默認使用Java 8。所以,我創建了一個~/gradle.properties文件,並把下面的變量:Gradle忽略gradle.properties

$ cat ~/gradle.properties 
org.gradle.java.home = /usr/lib/jvm/java-8-openjdk-amd64 

但這似乎並沒有兌現。首先,如果我嘗試建立我的項目,我得到:

Execution failed for task ':compileJava'. 
> invalid source release: 1.8 

此外,gradle --version給出:

$ gradle --version 

------------------------------------------------------------ 
Gradle 1.5 
------------------------------------------------------------ 

Gradle build time: Wednesday, October 8, 2014 8:21:39 AM UTC 
Groovy: 1.8.6 
Ant: Apache Ant(TM) version 1.9.4 compiled on October 7 2014 
Ivy: non official version 
JVM: 1.7.0_79 (Oracle Corporation 24.79-b02) 
OS: Linux 3.16.0-4-amd64 amd64 

但是,如果我複製~/gradle.properties我的項目目錄(用的build.gradle文件的目錄)或如果我運行JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 gradle assemble它的作品。因此,我的gradle.properties文件中沒有語法錯誤或任何內容,並且JDK路徑是正確的。由於某些原因,如果屬性文件位於我的主目錄中,它將被忽略。

請注意,我的項目目錄中沒有gradle.properties,我也嘗試將該文件放入~/.gradle/gradle.properties。我也做了一堆谷歌和StackOverflow搜索,只是無法找到這個看似明顯的問題的答案。

+2

我想你想'〜/ .gradle/gradle.properties'。否則,你可以在你的構建文件中寫一些東西,比如'task homedir << {println System.getenv('GRADLE_USER_HOME')}'來查看你的home位置(作爲'gradle homedir'運行)。 – RAnders00

+0

@ RAnders00,謝謝你的想法。 'gradle homdir'返回'任務homedir << {println System.getenv('GRADLE_USER_HOME')}'。奇怪的是'gradle -g〜assemble'解決了這個問題,所以看起來Gradle並不認爲我的主目錄是gradle home目錄。然而,gradle確實爲我創建了一個'〜.gradle'目錄,並且在那裏移動'gradle.properties'沒有任何幫助。我假設一個修正就是設置GRADLE_USER_HOME環境變量。 –

+0

劃痕。我重試了在'〜/ .gradle/gradle.properties'中放入'gradle.properties'的測試,現在它可以工作。在我最初的實驗中必須做錯事。看起來默認gradle home位置的gradle文檔是錯誤的,至少對於Debian Jessie版本的軟件包來說是這樣。 –

回答

4

長話短說,gradle這個讀取~/.gradle/gradle.properties~/gradle-properties gradle.properties和文檔是關於很清楚。總之,我是一個關節頭。