【发布时间】:2014-07-02 11:49:16
【问题描述】:
我是 Spring 新手,还在学习。我在我的 Mac 上使用带有 Java 6 的 Spring Tool Suite 3.5 版。我正在尝试使用 BasicDataSource
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
我的类路径中有以下 jar 文件:commons-dbcp-1.4.jar、commons-pool2-2.2.jar、commons-collections4-4.0.jar。但我仍然看到NoClassDefFoundError 引用KeyedObjectPoolFactory。
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。
我在此论坛中格式化代码时遇到问题。我的 XML 代码没有出现。对不起。
【问题讨论】:
-
可能是jar的版本号有问题....只需检查您用于jar的版本号是否相互兼容
-
嗨 Raju Rudru,是的,我发现这是问题所在。
标签: spring apache jar apache-commons-dbcp