2012-05-01 4 views
2

maven 3.0.4와 함께 servicemix 4.4.1을 사용 중입니다. 나는 아주 새로운 servicemix/java world - 내 주요한 지식은 C#/php이다.ClassNotFoundException : 서비스 혼합을 사용하는 동안 com.mysql.jdbc.Driver를 찾을 수 없음

내 경로 중 하나에 아래 추가 : 다음 서비스 믹스로 경로를 배포하는 경우

<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> 
    <property name="driverClass" value="com.mysql.jdbc.Driver"/> 
    <property name="url" value="jdbc:mysql://10.10.10.29/ServiceMix"/> 
    <property name="username" value="somet"/> 
    <property name="password" value="somet"/> 
</bean> 

, 내가 얻을 : 일부 인터넷 검색에서

ClassNotFoundException: com.mysql.jdbc.Driver not found 

나는 것을 발견

<osgi-import-package> 
org.apache.servicemix.bundles.commons-dbcp 
</osgi-import-package> 

: 내 POM에서 몇 줄 누락, 그래서 나는 다음과 같은 추가 그 ServiceMix에이 번들에 대해 알고 있도록 17,451,515,
<dependency> 
<groupId>org.apache.servicemix.bundles</groupId> 
<artifactId>org.apache.servicemix.bundles.commons-dbcp</artifactId> 
<version>1.4_3</version> 
</dependency> 

나는 또한 아래 실행 : 내가 번들을 시작하려고하면 그러나

osgi:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-pool/1.5.4_4 
osgi:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.4_3 

, 지금 내가 얻을 :

Error executing command: Could not start bundle mvn:com.boohoo/boohoo-esb-products-sage-internal/1.0-SNAPSHOT in feature(s) boohoo-esb-products-sage-internal-1.0-SNAPSHOT: Unresolved constraint in bundle boohoo-esb-products-sage-internal [256]: Unable to resolve 256.0: missing requirement [256.0] package; (package=org.apache.servicemix.bundles.commons-dbcp) 

나는 또한 한 일부 동적 인 수입이 허용되도록 매니 페스트 파일을 프로젝트에 추가 할 수 있다고 말한 더 많은 인터넷 검색. 프로젝트의 경로에 MANIFEST.MF하고 파일에 다음과 같은 추가 : 따라서 나는 새로운라는 파일을 추가

Fragment-Host: 
org.apache.commons.dbcp 
DynamicImport-Package: 
* 

를하지만이 역시 영향을 미치지 아니했습니다. 내가 원으로 돌아가는 것처럼 느껴진다. 모든 도움/포인터가 좋을 것입니다.

모든 것이 의미가 있기를 바랍니다.하지만 그렇지 않다면 그냥 말하면됩니다.

건배.

답변

2

문제가 해결되었습니다.

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
    <property name="url" value="jdbc:mysql://10.10.10.29/ServiceMix"/> 
    <property name="username" value="something"/> 
    <property name="password" value="something"/> 
</bean> 

POM : 매니페스트 파일을 제거

<osgi-import-package> 
    org.apache.commons.dbcp 
</osgi-import-package> 

<dependency> 
    <groupId>org.apache.servicemix.bundles</groupId> 
    <artifactId>org.apache.servicemix.bundles.commons-dbcp</artifactId> 
    <version>1.4_3</version> 
</dependency> 

를 다음과 같이 내 코드를 업데이트했습니다. servicemix에서 제거 된 commons-pools.

1

이 오류의 또 다른 이유는 누락 된 mysql 커넥터 일 수 있습니다! 이 명령을 Karaf 쉘에 설치하십시오 :

install -s mvn : mysql/mysql-connector-java/5.1.18