缓存ehcache启动失败missing element type

Posted 13yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓存ehcache启动失败missing element type相关的知识,希望对你有一定的参考价值。

启动失败了,报了如下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘ehCacheCacheManager‘ defined in class path resource [org/springframework/boot/autoconfigure/cache/EhCacheCacheConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [net.sf.ehcache.CacheManager]: Factory method ‘ehCacheCacheManager‘ threw exception; nested exception is net.sf.ehcache.CacheException: java.lang.annotation.IncompleteAnnotationException: org.terracotta.statistics.Statistic missing element type

以前一直在用,没有问题,新项目报错。

新项目唯一不同的是尝试了easyexcel,我好像知道些什么了。

查看easyexcel的pom.xml,找到了这个。

        <dependency>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>3.4.0</version>
        </dependency>

基本上定位问题所在了,org.ehcache和net.sf.ehcache有冲突,那么既然easyexcel已经引用了,我们就去掉net.sf.ehcache。

 

然后依然报错,有了新的提示,告诉我们无法连接redis,懂了。

那么我们尝试一下用net.sf.ehcache,排除org.ehcache。

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.2.3</version>
    <exclusions>
        <exclusion>
            <groupId>org.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </exclusion>
    </exclusions>
</dependency>

启动成功了。

以上是关于缓存ehcache启动失败missing element type的主要内容,如果未能解决你的问题,请参考以下文章

Ehcache 缓存

实现 Guava 缓存作为 EHCache 的后备

Ehcache基础知识学习

关于ehcache缓存中eternal及timeToLiveSeconds和timeToIdleSeconds的说明

Shiro安全框架学习04 - 登录失败次数限制

ubuntu启动失败,出现missing modules