我刚刚开始使用Gradle,几乎肯定会错过一些明显的东西。我的系统默认安装了Java 7,但我希望我的所有Gradle项目默认使用Java 8。因此,我创建了一个~/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
中。我还做了一堆Google和StackOverflow搜索,但却无法找到这个看似显而易见的问题的答案。