无法从'13.0.1'确定Java版本。

8
我安装了 Gradle 6.0.1 和 JDK 13.0.1, 并尝试运行 "gradlew setupDecompWorkspace" 命令,但是提示我无法从 '13.0.1' 确定 Java 版本。我已经寻找解决方法一个星期了,但是没有找到答案。
编辑:运行 "gradlew setupDecompWorkspace --stacktrace" 的结果如下:https://pastebin.com/NFqZpBkG 编辑2:我手动修改了 wrapper.properties 文件并更新了我的 Gradle 包装器。现在运行 "gradlew setupDecompWorkspace --stacktrace" 命令给出的结果是:https://pastebin.com/ubYj4Zq0

1
很有把握这是gradle中的一个bug。请尝试在https://github.com/gradle/gradle/issues/上报告它。 - omajid
3
请发布 gradlew setupDecompWorkspace --stacktrace 命令的结果,感觉问题出在 Minecraft 代码而不是 Gradle 上。 - Karol Dowbecki
3个回答

3

我安装了jdk 13并调用react-native run-android,然后出现了以上错误。

解决方法: 检查您是否安装了jdk 13,路径为:/Library/Java/JavaVirtualMachines/

ls /Library/Java/JavaVirtualMachines/

那么

cd /Library/Java/JavaVirtualMachines/
sudo rm -rf jdk-13.0.0 // your version

然后重新安装jdk-8。


当我运行您的命令(sudo rm -rf adoptopenjdk-13.0.1)并使用gradle构建我的应用程序(./gradlew cC)时,我发现adoptopenjdk-13.0.1被重新安装。 - aksyuma

2

Gradle在6.0版本之前不支持Java 13(除非分叉编译器)。您说您已经安装了Gradle 6.0,但是在使用Gradle包装程序时不应该安装任何东西。相反,包装程序将下载在gradle-wrapper.properties文件中定义的Gradle版本。

如果您运行gradlew --version命令(并记得使用'w'版本),很可能会看到旧版本。如果是这样,请升级包装程序使用gradle wrapper --gradle-version 6.0.1 --distribution-type all(或更新版本),或降级Java版本。


1
如果我运行 gradlew --version,我只会得到“无法从'13.0.1'确定Java版本”。 如果我尝试 gradle wrapper --gradle-version 6.0.1 --distribution-type all,我会得到一个“构建失败”的异常和一段文字告诉我问题出现在我的构建文件的第18行,并且它无法评估来自Minecraft Forge的根项目。你所说的降级Java是什么意思?因为我有Java 8和JDK 13,而且我不能下载旧版本的JDK,因为我没有Oracle账户。 - jaliho
1
我是指通过设置JAVA_HOME属性从Java 13降级到Java 8(或11)。我不知道Minecraft Forge的支持情况。但是,您可以尝试手动更改文件gradle/wrapper/gradle-wrapper.properties,使distributionUrl读取distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip(写作时最新版本),然后尝试使用Java 13进行操作。 - Bjørn Vester

0

我曾经遇到过同样的问题。1.7.10 Forge 不支持 Gradle 6。在 \gradle\wrapper\gradle-wrapper.properties 文件中将 Gradle 版本还原回之前的版本,例如 4.x(这是针对 1.8.9 而言,如果是 3.x,则可能需要尝试使用 JDK 7 而不是 8)。

Gradle 4 不支持 JDK 13。我不确定哪些版本适用于 Gradle 4,因为我找不到支持的版本文档。经过一些尝试和错误,我发现 JDK 8 可以正常工作。从 这里 下载并安装。

安装程序完成后,它并不能立即正常工作。您需要设置 "JAVA_HOME"。进入环境变量(控制面板\系统和安全\系统\高级系统设置\高级\环境变量...),如果系统变量中不存在 "JAVA_HOME",那么就创建一个。将其命名为 "JAVA_HOME" 并将值设置为 "C:\Program Files\Java\jdk1.8.0_241",如果您使用我提供的安装程序的话。设置完成后,依次单击确定,确定,确定,并关闭控制面板。

你已经快完成了!现在你只需要重新启动电脑,它就应该可以工作了。如果不行,请在评论中@我。希望它能够正常运行。

注意:我建议使用IntelliJ进行修改,一旦你反编译完成后,用IntelliJ打开build.gradle文件。等待它加载完毕,然后回到命令提示符窗口,输入“gradlew genIntellijRuns”(如github modding指南所示),现在你已经准备好开始编码了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接