ClassNotFoundException:使用service mix时未找到com.mysql.jdbc.Driver

ClassNotFoundException:使用service mix时未找到com.mysql.jdbc.Driver,jdbc,apache-servicemix,classnotfound,Jdbc,Apache Servicemix,Classnotfound,我将servicemix 4.4.1与maven 3.0.4一起使用。我对servicemix/java世界非常陌生——我的主要知识是c#/php 我已将以下内容添加到我的一条路线中: <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driverClass" value="com.mysql.jdbc.Drive

我将servicemix 4.4.1与maven 3.0.4一起使用。我对servicemix/java世界非常陌生——我的主要知识是c#/php

我已将以下内容添加到我的一条路线中:

<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>
通过谷歌搜索,我发现我的POM中缺少了一些行,因此我添加了以下内容:

<osgi-import-package>
org.apache.servicemix.bundles.commons-dbcp
</osgi-import-package>
但是,现在当我尝试启动捆绑包时,我得到:

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:
 *
但这也没有任何效果。我觉得我好像在兜圈子。任何帮助/指点都很好

我希望一切都有道理,但如果没有,就直说吧,我会尽力解释得更好


干杯。

解决了这个问题。我更新了我的代码如下:

 <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:


org.apache.commons.dbcp
org.apache.servicemix.bundles
org.apache.servicemix.bundles.commons-dbcp
1.4_3
已删除清单文件。
已从servicemix卸载commons池。

请注意,此错误的另一个原因可能是缺少mysql连接器!在Karaf shell中使用此命令安装:

安装-s mvn:mysql/mysql连接器java/5.1.18

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)
Fragment-Host:
 org.apache.commons.dbcp 
DynamicImport-Package:
 *
 <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>
<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>