执行./gradlew命令报错无法识别17.0.1版本Java该如何解决
错误根本原因
你当前使用的Gradle 2.7是2015年发布的旧版本,其发布时间远早于Java 17的发布时间,没有内置Java 17的版本识别规则,因此无法解析17.0.1的版本号字符串,触发报错。
解决方案
方案1:临时指定兼容的JDK版本(优先推荐,适配旧项目)
Gradle 2.7最高仅支持JDK 8,你需要先在设备上安装JDK 8,再执行命令时临时指定JAVA_HOME路径即可:
- Linux/macOS 终端执行:
JAVA_HOME=/你的/JDK8/安装路径 ./gradlew setupDecompWorkspace eclipse - Windows CMD 执行:
set JAVA_HOME=X:\你的\JDK8\安装路径 && .\gradlew setupDecompWorkspace eclipse - Windows PowerShell 执行:
$env:JAVA_HOME = "X:\你的\JDK8\安装路径"; .\gradlew setupDecompWorkspace eclipse
提示:如果你做的是旧版本Minecraft Forge模组开发,必须用该方案,旧版Forge不兼容高版本Gradle和JDK,升级会触发更多兼容错误。
方案2:升级Gradle版本(仅适用于无旧框架依赖的项目)
如果你的项目允许升级Gradle,可修改项目根目录下gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl配置,更换为支持Java 17的最低Gradle版本7.3或更高版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
修改保存后重新执行原命令即可。
内容的提问来源于stack exchange,提问作者Vexea
相关产品推荐
相关产品推荐

