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

Spring6整合Ehcache3遇javax类找不到错误,已引Jakarta依赖求解答

问题描述

基于Spring 6、Ehcache 3、JDK 17的项目中,参考Spring 4兼容Ehcache 3的配置方案,配置如下:

<bean id="ehcache" class="org.springframework.cache.jcache.JCacheManagerFactoryBean">
    <property name="cacheManagerUri" value="classpath:ehcache.xml"/>
</bean>

执行时出现如下错误,已引入jakarta.xml.bind-api依赖,但仍提示找不到javax相关类:

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/ValidationEventHandler
    at org.ehcache.xml.XmlConfiguration.<init>(XmlConfiguration.java:116)
    at org.ehcache.xml.XmlConfiguration.<init>(XmlConfiguration.java:92)
    at org.ehcache.jsr107.EhcacheCachingProvider$ConfigSupplier.getConfiguration(EhcacheCachingProvider.java:328)
    at org.ehcache.jsr107.EhcacheCachingProvider.getCacheManager(EhcacheCachingProvider.java:134)
    at org.ehcache.jsr107.EhcacheCachingProvider.getCacheManager(EhcacheCachingProvider.java:85)
    at org.springframework.cache.jcache.JCacheManagerFactoryBean.afterPropertiesSet(JCacheManagerFactoryBean.java:83)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1817)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766)
解决方案
  1. 升级Ehcache版本到适配Jakarta的版本
    Spring 6基于Jakarta EE 9+规范,旧版本Ehcache 3仍依赖javax命名空间的API。需使用Ehcache 3.10及以上版本,这些版本已完成Jakarta API迁移,不再依赖javax.xml.bind相关类。

  2. 调整Maven依赖
    更新pom.xml中的Ehcache依赖至最新稳定版,示例:

    <dependency>
        <groupId>org.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>3.10.8</version> <!-- 可替换为更高稳定版 -->
    </dependency>
    

    无需额外引入javax.xml.bind相关依赖,新版Ehcache会自动依赖Jakarta版本的XML绑定API。

  3. 验证配置兼容性
    Spring 6的JCacheManagerFactoryBean配置本身无需修改,但需确保ehcache.xml的语法符合当前Ehcache版本要求,避免因配置文件语法过时引发其他问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:21:12