You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VSCode中Gradle构建失败,抛出org.gradle.api.plugins.internal.DefaultDecoratedConvention异常

VSCode中Gradle构建失败,抛出org.gradle.api.plugins.internal.DefaultDecoratedConvention异常

看起来你遇到的是VSCode的Java/Gradle插件与Gradle 9.0.0之间的兼容性问题,这种内部类的异常通常是因为旧版本的插件还没适配Gradle 9.x的内部API变动导致的。结合你的项目配置和手动构建正常的情况,给你几个可以尝试的解决方向:

  • 更新VSCode的Java相关插件
    你使用的是Extension Pack for Java扩展包,打开VSCode的扩展面板,找到这个包,检查并更新所有关联的插件(比如Language Support for Java™ by Red Hat、Gradle for Java等)到最新版本。旧版本的插件对Gradle 9.0.0的新特性和内部API支持不足,这是这类异常最常见的诱因。

  • 调整VSCode的Gradle插件设置

    1. 打开VSCode设置(快捷键Ctrl+,),搜索“Gradle: Use Gradle Wrapper”,确保该选项处于勾选状态——虽然你的wrapper配置完全正确,但插件可能存在识别异常,强制使用wrapper能保证和手动构建环境一致。
    2. 若勾选wrapper后仍有问题,可暂时关闭该选项,让VSCode直接调用你手动安装的Gradle 9.0.0,验证是否是插件对wrapper的调用逻辑出了问题。
    3. 同时确认“Java: Home”设置指向的JDK路径和你手动构建时使用的完全一致(你当前输出显示是JDK21,和手动环境匹配,但可以再核对一遍)。
  • 清理缓存排除损坏问题
    缓存损坏也可能引发这类奇怪的内部异常,你可以尝试:

    1. 打开VSCode命令面板(Ctrl+Shift+P),执行“Java: Clean Java Language Server Workspace”命令,按照提示重启VSCode重新加载项目。
    2. 关闭VSCode后,删除用户目录下.gradle文件夹中的缓存目录(比如C:\Users\Micro\.gradle\caches),再重新打开项目构建。
  • 简化构建脚本排查冲突
    你的build.gradle.kts中有些配置属于Gradle的默认值(比如sourceSets的main目录配置,Java插件已经默认识别src/main/java),可以暂时注释掉这部分代码,看看是否是自定义配置与插件逻辑冲突:

    // sourceSets {
    //     main {
    //         java {
    //             srcDir("src/main/java")
    //         }
    //     }
    // }
    
  • 临时降级Gradle版本测试
    如果以上方法都无效,可以先将Gradle Wrapper降级到8.7(最新稳定版,与9.0.0功能差异极小),修改gradle-wrapper.properties中的distributionUrl

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

    之后在VSCode中重新构建,若异常消失,说明确实是Gradle 9.0.0与当前插件版本不兼容,等插件更新后再升级回9.0.0即可。

另外,你可以在VSCode中打开命令面板,执行“Gradle: Run Build Task”并选择build任务,同时添加--stacktrace参数获取详细的异常栈信息,这能帮助更精准地定位问题根源。不过根据目前的信息,插件版本不兼容是最可能的原因,优先尝试更新插件应该能解决问题。

内容来源于stack exchange

火山引擎 最新活动