我想在Gradle中使用JDK11来编译我的项目,而无需修改指向JDK10的JDK_HOME。我在大多数项目中都使用JDK10,但是在Gradle中测试了对JDK11的升级。
JAVA_HOME=C:\Program Files\Java\jdk-10.0.2
在/.gradle/gradle.properties中,设置以下属性:
org.gradle.java.home=C:/Program Files/Java/jdk-11.0.3
当我运行命令:gradle properties时,我看到以下行:
org.gradle.java.home: C:/Program Files/Java/jdk-11.0.3
但是当我运行命令:gradle -version时,我看到了,显示JVM是版本10:
------------------------------------------------------------
Gradle 5.4.1
------------------------------------------------------------
Build time: 2019-04-26 08:14:42 UTC
Revision: 261d171646b36a6a28d5a19a69676cd098a4c19d
Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 10.0.2 ("Oracle Corporation" 10.0.2+13)
OS: Windows 10 10.0 amd64
尽管上面说的是JDK10,它是否仍在JDK11中进行编译,而JVM仅意味着用于运行Gradle Daemon的Java版本吗?
答案 0 :(得分:1)
gradle -version
报告的版本是执行该命令的客户端VM之一。
通常,Gradle会使用守护进程来执行构建。该过程将遵守org.gradle.java.home
设置。
请注意,您还可以更好地控制将哪个Java可执行文件用于Gradle中的不同任务。有关详细信息,请参见the documentation。