linux sdkman gradle 3.4无法确定java版本
当在gradle 5.6.1终端工作时,许多事情都按预期工作。例如,更改为较旧的java版本(1)。如果我改为gradle 3.4,gradle将不再找到jdk(1)
如何让gradle 3.4再次在我的系统上工作
我想建立一个项目,我曾经与gradle 3.4。但是,我没有gradle包装器,并且由于gradle 5.6.1的更改,构建似乎已中断
(一)
user@system:~$ sdk u gradle 3.4
Using gradle version 3.4 in this shell.
user@system:~$ gradle -v
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.5'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
user@system:~$ sdk u java 9.0.4
Stop! java 9.0.4 is not available. Possible causes:
* 9.0.4 is an invalid version
* java binaries are incompatible with Linux64
* java has not been released yet
user@system:~$ sdk u java 9.0.4-open
Using java version 9.0.4-open in this shell.
user@system:~$ gradle
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '9.0.4'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
(二)
user@system:~$ gradle -v
------------------------------------------------------------
Gradle 5.6.1
------------------------------------------------------------
Build time: 2019-08-28 02:49:34 UTC
Revision: b6bd8e7934ca41d9e52610058aa7cb834df81fc4
Kotlin: 1.3.41
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 11.0.5 (Debian 11.0.5+10-post-Debian-1deb10u1)
OS: Linux 4.19.0-6-amd64 amd64
user@system:~$ sdk u java 9.0.4-open
Using java version 9.0.4-open in this shell.
user@system:~$ gradle -v
------------------------------------------------------------
Gradle 5.6.1
------------------------------------------------------------
Build time: 2019-08-28 02:49:34 UTC
Revision: b6bd8e7934ca41d9e52610058aa7cb834df81fc4
Kotlin: 1.3.41
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 9.0.4 (Oracle Corporation 9.0.4+11)
OS: Linux 4.19.0-6-amd64 amd64
# 1 楼答案
Gradle仅在Gradle version 4.7时支持Java11(和10),另请参见https://github.com/gradle/gradle/issues/4591。自Gradle 4.1起支持Java 9。因此,你最好的选择是尝试Gradle 4.7是否适合你,或者让你的版本与当前的Gradle版本兼容
# 2 楼答案
不同版本的Gradle支持在不同版本的Java上运行。据我所知,您需要Gradle 4.2.1来完全支持Java 9。你确定这是你在旧项目中使用的组合吗?如果是这样的话,您可能想尝试Java 9的初始版本(没有任何点版本)。如果它只是在版本解析中失败了,可能会有所帮助。但我很确定这种组合还有其他问题
在任何情况下,您都需要从3.4升级Gradle或从9.0.4降级Java