我剛剛開始使用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搜索,只是無法找到這個看似明顯的問題的答案。
我想你想'〜/ .gradle/gradle.properties'。否則,你可以在你的構建文件中寫一些東西,比如'task homedir << {println System.getenv('GRADLE_USER_HOME')}'來查看你的home位置(作爲'gradle homedir'運行)。 – RAnders00
@ RAnders00,謝謝你的想法。 'gradle homdir'返回'任務homedir << {println System.getenv('GRADLE_USER_HOME')}'。奇怪的是'gradle -g〜assemble'解決了這個問題,所以看起來Gradle並不認爲我的主目錄是gradle home目錄。然而,gradle確實爲我創建了一個'〜.gradle'目錄,並且在那裏移動'gradle.properties'沒有任何幫助。我假設一個修正就是設置GRADLE_USER_HOME環境變量。 –
劃痕。我重試了在'〜/ .gradle/gradle.properties'中放入'gradle.properties'的測試,現在它可以工作。在我最初的實驗中必須做錯事。看起來默認gradle home位置的gradle文檔是錯誤的,至少對於Debian Jessie版本的軟件包來說是這樣。 –