🙊🙊作者主页:🔗求不脱发的博客

📔📔 精选专栏:🔗Spring

📋📋 精彩摘要:SpringBoot项目整合jetcache时可能遇到版本冲突问题。本文将提供解决方式参考。

💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞

问题描述:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisAutoInit' defined in class path resource [com/alicp/jetcache/autoconfigure/RedisAutoConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: redis/clients/jedis/UnifiedJedis
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1794) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$167/1076641925.getObject(Unknown Source) ~[na:na]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:311) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:227) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1175) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:420) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at com.alicp.jetcache.anno.field.CreateCacheAnnotationBeanPostProcessor.postProcessProperties(CreateCacheAnnotationBeanPostProcessor.java:64) ~[jetcache-anno-2.7.0.M1.jar:na]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    ... 31 common frames omitted
CabstractCacheAutoInit.afterPropertiesSet(AbstractCacheAutoInit.java:47) ~[jetcache-autoconfigure-2.7.0.M1.jar:na]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1853) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1790) ~[spring-beans-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    ... 51 common frames omitted
Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.UnifiedJedis
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372) ~[na:1.8.0_20]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.8.0_20]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_20]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360) ~[na:1.8.0_20]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_20]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.8.0_20]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_20]
    ... 56 common frames omitted
 

主要问题:

Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.UnifiedJedis
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372) ~[na:1.8.0_20]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.8.0_20]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_20]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360) ~[na:1.8.0_20]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_20]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.8.0_20]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_20]
    ... 56 common frames omitted

问题原因:

在pom中导入jetcache坐标中的redis与springboot版本冲突导致,

        <dependency>
            <groupId>com.alicp.jetcache</groupId>
            <artifactId>jetcache-starter-redis</artifactId>
            <version>2.7.0.M1</version>
            <!--这里版本不唯一,也可能是别的版本-->
        </dependency>

解决方法:

更换jetcache坐标版本

        <dependency>
            <groupId>com.alicp.jetcache</groupId>
            <artifactId>jetcache-starter-redis</artifactId>
            <version>2.6.5</version>
              <!--这里版本不唯一,别的较高版本也行-->
        </dependency>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐