You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LibGDX Kotlin项目适配Java12:Gradle Wrapper升级失败排查

解决LibGDX Kotlin项目Gradle与Java12兼容问题

别慌,我来帮你一步步搞定这个问题——你遇到的并不是升级Gradle Wrapper的方式有误,而是LibGDX生成的旧版Gradle构建脚本和Gradle 5+的新语法不兼容,加上旧Gradle版本本身不支持Java12,才出现了这一连串错误。

问题拆解

  1. 第一个错误:Could not determine Java version from '12'
    旧版本的Gradle(比如LibGDX初始化工具默认的版本)没有适配Java12的版本识别逻辑,所以必须升级到支持Java12的Gradle版本,你选择Gradle 5.3.1是完全正确的,这个版本确实兼容Java12。

  2. 第二个错误:Could not get unknown property 'classesDir'
    Gradle 4.10之后就废弃了classesDir这个属性,换成了classesDirectory,但LibGDX生成的默认构建脚本还在使用旧属性名,导致报错。

具体解决步骤

1. 修复classesDir属性错误

找到项目根目录下的build.gradle文件(注意不是各个子模块里的build.gradle),做以下替换:

  • 把所有出现的 sourceSets.main.output.classesDir 替换为 sourceSets.main.output.classesDirectory
  • 把所有出现的 sourceSets.test.output.classesDir 替换为 sourceSets.test.output.classesDirectory

举个例子,原来的代码片段可能是这样:

// 旧代码示例
sourceSets.main.output.classesDir = new File(buildDir, 'classes/main')
sourceSets.test.output.classesDir = new File(buildDir, 'classes/test')

修改后变成:

// 修改后的代码
sourceSets.main.output.classesDirectory = new File(buildDir, 'classes/main')
sourceSets.test.output.classesDirectory = new File(buildDir, 'classes/test')

2. 替换废弃的依赖配置(可选但推荐)

Gradle 5+还废弃了compile、testCompile这些依赖配置,换成了implementation和testImplementation,为了避免后续潜在报错,你可以一并替换:

  • 把所有 compile 改成 implementation
  • 把所有 testCompile 改成 testImplementation

3. 刷新Gradle项目

在IntelliJ里点击右上角Gradle面板的「Refresh all Gradle projects」按钮(就是大象图标旁边的刷新箭头),让IDE重新加载配置。

4. 确认IntelliJ的Java配置

确保IDE使用的是Java12:

  • 打开「File → Project Structure → Project」
  • 把「Project SDK」选择为Java12
  • 「Project language level」选择「12」或者「SDK default」

验证配置

最后检查一下gradle-wrapper.properties里的distributionUrl是否正确,你当前的配置是没问题的:

distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip

这样操作之后,项目应该就能正常构建了。

内容的提问来源于stack exchange,提问作者Rolodophone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:00:38