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

升级Spring Boot 3.0.x后Gradle无法解析Ehcache依赖求助

Spring Boot 3.0迁移Ehcache依赖时版本解析失败问题

问题背景

将Spring Boot Gradle项目从2.7.x升级至3.0.4版本,原Ehcache依赖声明:

api 'org.ehcache:ehcache'

按迁移指南修改为:

api('org.ehcache:ehcache') {
    capabilities {
        requireCapability('org.ehcache:ehcache-jakarta')
    }
}

执行./gradlew build时触发依赖解析错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
   > Could not find org.ehcache:ehcache:.
     Required by:
         project :

尝试api 'org.ehcache:ehcache-jakarta'、api 'org.ehcache:ehcache:jakarta'均无效,仅手动指定版本api 'org.ehcache:ehcache:3.10.8:jakarta'可正常构建,但疑惑为何Spring Boot未自动管理版本(当前Gradle Wrapper版本7.6.1)。

解决方案

1. 确保依赖管理插件正确应用

Spring Boot的依赖版本管理依赖于io.spring.dependency-management插件,必须在build.gradle中正确配置:

plugins {
    id 'org.springframework.boot' version '3.0.4'
    id 'io.spring.dependency-management' version '1.1.0'
    id 'java'
}

2. 正确声明Ehcache Jakarta依赖

在依赖块中使用能力声明的同时,确保依赖管理已导入Spring Boot BOM:

dependencies {
    api('org.ehcache:ehcache') {
        capabilities {
            requireCapability('org.ehcache:ehcache-jakarta')
        }
    }
}

dependencyManagement {
    imports {
        mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
    }
}

3. 可选:显式锁定Ehcache版本(若仍有问题)

如果上述配置仍无法自动解析版本,可在dependencyManagement中显式指定版本(Spring Boot 3.0.4默认管理的Ehcache版本为3.10.8):

dependencyManagement {
    imports {
        mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
    }
    dependencies {
        dependency 'org.ehcache:ehcache:3.10.8'
    }
}

原因说明

  • Spring Boot 3.0切换到Jakarta EE规范,Ehcache通过**能力(capability)**机制区分Jakarta和Java EE版本,直接声明ehcache-jakarta无效是因为Spring Boot依赖管理未维护该artifactId的版本映射。
  • 手动指定版本有效是因为跳过了依赖管理的能力解析流程,但会失去Spring Boot版本同步的优势。
  • Gradle 7.6.1完全支持该能力声明机制,版本本身无兼容性问题,核心问题是依赖管理配置不完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:13:14