解决commons-pool包冲突

来源:互联网 发布:python调用r语言 编辑:程序博客网 时间:2024/05/16 04:50

问题说明:在工程中引入了jedis包后同时带入了commons-pool2的包,结果在调用某个业务时报出如下错误:

java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedPoolableObjectFactory    at java.lang.Class.getDeclaredMethods0(Native Method)    at java.lang.Class.privateGetDeclaredMethods(Class.java:2688)    at java.lang.Class.getDeclaredMethods(Class.java:1962)    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:570)    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:489)    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:473)    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:241)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1059)    at ....
查看mvn dependency:tree后,发现有两个版本的pool包:

[INFO] |  |  +- mysql:mysql-connector-java:jar:5.1.10:compile[INFO] |  |  +- <span style="color:#cc6600;">commons-pool:commons-pool:jar:1.6:compile</span>[INFO] \- redis.clients:jedis:jar:2.7.2:compile[INFO]    \-<span style="color:#cc6600;"> org.apache.commons:commons-pool2:jar:2.3:compile</span>

查询文档后发现这两个包本就是不兼容的,所以不能随意升级,

单独引入1.6版本,问题解决。

0 0
原创粉丝点击