[SPRING] NoClassDefFoundError : org / apache / commons / pool / KeyedObjectPoolFactory BasicDataSource Spring
SPRINGNoClassDefFoundError : org / apache / commons / pool / KeyedObjectPoolFactory BasicDataSource 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. 하지만 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)
나는 대답을 찾고 기존의 유사한 질문을 발견했다. 그러나 그 것과는 달리, 나는 클래스 패스에 JAR 파일을 가지고있다.
이 포럼에서 코드 서식을 지정하는 데 문제가 있습니다. 내 XML 코드가 나타나지 않습니다. 죄송합니다.
해결법
-
==============================
1.버전을 뒤섞어 버리고 있습니다. KeyedObjectPoolFactory 클래스는 2.x가 아닌 commons-pool의 1.x 분기에 있습니다. 대신 commons-pool-1.5.4로 시도해야합니다 (commons-dbcp-1.4에 대한 올바른 버전 종속성)
버전을 뒤섞어 버리고 있습니다. KeyedObjectPoolFactory 클래스는 2.x가 아닌 commons-pool의 1.x 분기에 있습니다. 대신 commons-pool-1.5.4로 시도해야합니다 (commons-dbcp-1.4에 대한 올바른 버전 종속성)
그리고 나는 예를 들어 사용을 제안 할 수 있습니다. 의존성을 관리하기위한 Maven - 당신은 transitive 의존성을 무료로 버전을 붙인다. (대부분 적어도 ...)
건배,
from https://stackoverflow.com/questions/23654382/noclassdeffounderror-org-apache-commons-pool-keyedobjectpoolfactory-basicdataso by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] pom 편집기에서 org.apache.maven.plugin.jar.JarMojo 오류를 제거하는 방법 (0) | 2019.05.08 |
---|---|
[SPRING] Class @Entity에서 작동하지 않는 Autowired (0) | 2019.05.08 |
[SPRING] 임베디드 카프카 단위 테스트에서받은 메시지를 확인하는 방법 (0) | 2019.05.08 |
[SPRING] 봄 mvc : 자원 태그 및 404 오류 (0) | 2019.05.08 |
[SPRING] JUnit 테스트 클래스가 JMeter에 표시되지 않습니다. (0) | 2019.05.08 |