【发布时间】:2019-05-14 15:38:07
【问题描述】:
这是我对gradle -v 的输出(在使用包装器的项目中):
$ ./gradlew -v
------------------------------------------------------------
Gradle 5.0
------------------------------------------------------------
Build time: 2018-11-26 11:48:43 UTC
Revision: 7fc6e5abf2fc5fe0824aec8a0f5462664dbcd987
Kotlin DSL: 1.0.4
Kotlin: 1.3.10
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.1 (Oracle Corporation 11.0.1+13-LTS)
OS: Linux 3.10.0-862.11.6.el7.x86_64 amd64
尤其是这一行:
JVM: 11.0.1 (Oracle Corporation 11.0.1+13-LTS)
我希望切换到 OpenJDK 11。所以选择它,如下所示:
# alternatives --config java
There are 4 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 /usr/java/jdk-11.0.1/bin/java
+ 2 /usr/local/jdk-11.0.1/bin/java
3 /usr/java/jre1.8.0_191-i586/bin/java
4 /usr/java/jdk1.8.0_191-amd64/jre/bin/java
Enter to keep the current selection[+], or type selection number: 2
# java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
但是gradle -v 的输出没有区别。于是上网搜了一下,找到了一些方法(见here):
编辑
gradle.properties文件使用
-Dorg.gradle.java.home命令行选项编辑
build.gradle文件
我使用了前两种方式。两者都有效(为了测试我切换到JDK 8 然后运行build 任务。由于Java 8 不支持我的代码中的一些新功能,任务失败)。但是gradle -v的结果仍然没有改变!即使使用第二种方式:
# ./gradlew -Dorg.gradle.java.home=/usr/java/jdk1.8.0_191-amd64 -v
------------------------------------------------------------
Gradle 5.0
------------------------------------------------------------
Build time: 2018-11-26 11:48:43 UTC
Revision: 7fc6e5abf2fc5fe0824aec8a0f5462664dbcd987
Kotlin DSL: 1.0.4
Kotlin: 1.3.10
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.1 (Oracle Corporation 11.0.1+13-LTS)
OS: Linux 3.10.0-862.11.6.el7.x86_64 amd64
那么问题是如何在build 进程中检查Gradle 使用的是哪个JDK 版本?
【问题讨论】:
标签: java gradle version gradlew