我是春天的新手,还在学习.我在Mac上使用Spring Tool Suite 3.5和Java 6.我正在尝试使用BasicDataSource
我的类路径上有以下jar文件:commons-dbcp-1.4.jar,commons-pool2-2.2.jar,commons-collections4-4.0.jar.但我仍然看到对KeyedObjectPoolFactory的NoClassDefFoundError引用.
Error creating bean with name 'dataSource' defined in class path resource [test- infrastructure-config.xml]: Instantiation of bean Failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)
我找了一个答案,找到了existing similar question,
但不像那个,我在我的类路径上有JAR.
最佳答案
你正在混淆这些版本. KeyedObjectPoolFactory类存在于commons-pool的1.x分支中,但不存在于2.x中.您应该尝试使用commons-pool-1.5.4(这是commons-dbcp-1.4的正确版本依赖性)
原文链接:https://www.f2er.com/spring/432776.html我可以建议使用例如. Maven管理您的依赖项 – 您将获得免费版本化的传递依赖项(大多数至少…)
干杯,