2012-05-01 25 views
2

maven 3.0.4でservicemix 4.4.1を使用しています。私はservicemix/javaの世界には非常に新しいです - 私の主な知識はC#/ phpです。ClassNotFoundException:サービスミックスを使用中にcom.mysql.jdbc.Driverが見つかりません

私は私のルートの1つに以下追加しました:私は、サービスミックスへのルートを展開する場合、私が手

<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からいくつかの行を逃したので、私は次を追加しました
<dependency> 
<groupId>org.apache.servicemix.bundles</groupId> 
<artifactId>org.apache.servicemix.bundles.commons-dbcp</artifactId> 
<version>1.4_3</version> 
</dependency> 

私はまた、ServiceMixのは、バンドルを知っていたので、以下に走っ:

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

関連する問題