java - apache servicemix 无法为 apache dbcp 加载 jdbc 驱动程序

标签 java jdbc apache-karaf apache-servicemix

我有一个 servicemix bundle 尝试加载 jdbc 驱动程序 并失败并显示消息

Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

这是我的pom.xml文件

      <!-- MySQL -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.32</version>
    </dependency>

    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.4.2</version>
    </dependency>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <configuration>
                <instructions>
                    <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                    <Import-Package>
                        com.mysql.jdbc,
                        *
                    </Import-Package>
                    <DynamicImport-Package>
                        *
                    </DynamicImport-Package>
                </instructions>
            </configuraiton>
        </plugin>

我的 features.xml 文件中提到了以下几行,这些行是使用 features:addurl 命令添加到 karaf 中的。

<bundle>wrap:mvn:mysql/mysql-connector-java/5.1.32</bundle>
<bundle>wrap:mvn:commons-dbcp/commons-dbcp/1.4</bundle>
<bundle>wrap:mvn:commons-pool/commons-pool/1.6</bundle>

最佳答案

你见过ClassNotFoundException: com.mysql.jdbc.Driver not found while using service mix吗? ?用户将以下内容添加到 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>

并且还改变了路线从

<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

关于java - apache servicemix 无法为 apache dbcp 加载 jdbc 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46213569/

相关文章:

java - JavaFX2 最终会取代 Swing 吗?

android - 适用于 Android 的 SQLDroid JDBC 驱动程序

java - 未找到驱动程序异常 JDBC

java - JSF 与数据库交互

apache-felix - OSGi 和传递依赖

java - Spring Web Controller 如何确定重定向的 HTTP 状态代码

java - 缓冲读取器线程安全吗?

java - 代表用户输入 capthca 值

java - 使用约束冲突。无法解析资源 -javax.xml.bind.annotation 和 jakarta.xml.bind-api

json - 无法让 Karaf 4.2.6 使用带有 JsonLayout 的 log4j2 记录布局类型