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

升级SpringBoot项目Gradle至7.5时遇propdeps插件报错的解决方法

解决Gradle 7.5升级中propdeps插件的COMPILE_CONFIGURATION_NAME报错问题

报错原因

Gradle 7.x版本移除了JavaPlugin.COMPILE_CONFIGURATION_NAME常量(Gradle从5.x开始就逐步废弃compile配置,改用implementation/api替代),而你当前使用的propdeps插件版本不兼容Gradle 7.x,依然依赖这个已被移除的常量,因此触发报错。

解决方法

1. 升级propdeps插件到兼容版本

找到项目根目录build.gradle里的buildscript依赖块,把propdeps插件版本升级到0.21及以上(该版本开始支持Gradle 7.x):

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        // 替换为兼容Gradle7.x的propdeps版本
        classpath 'net.ltgt.gradle:gradle-propdeps-plugin:0.21'
    }
}

2. 替换代码中过时的常量引用(若升级插件后仍报错)

如果项目自定义代码里直接引用了JavaPlugin.COMPILE_CONFIGURATION_NAME,需要手动替换为Gradle 7.x支持的常量:

  • 若原代码用于处理常规编译依赖,替换为JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME
  • 若用于暴露对外API的依赖,替换为JavaPlugin.API_CONFIGURATION_NAME

示例修改:

import org.gradle.api.plugins.JavaPlugin

// 旧代码
// def compileConfig = project.configurations.getByName(JavaPlugin.COMPILE_CONFIGURATION_NAME)

// 新代码(根据实际场景二选一)
def compileConfig = project.configurations.getByName(JavaPlugin.IMPLEMENTATION_CONFIGURATION_NAME)
// 或者
// def compileConfig = project.configurations.getByName(JavaPlugin.API_CONFIGURATION_NAME)

3. 移除propdeps插件(若功能可被Gradle原生替代)

如果项目中propdeps仅用于处理可选依赖或编译期依赖,可直接移除该插件,改用Gradle原生配置:

  • 编译期仅需的依赖用compileOnly
  • 运行时依赖用runtimeOnly
  • 常规业务依赖用implementation/api

内容的提问来源于stack exchange,提问作者Manoj H U

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:37:00