缺少驱动程序类 com.ibm.db2.jcc.DB2Driver 的依赖关系

Posted

技术标签:

【中文标题】缺少驱动程序类 com.ibm.db2.jcc.DB2Driver 的依赖关系【英文标题】:Dependency for driver-class com.ibm.db2.jcc.DB2Driver is missing 【发布时间】:2018-11-29 16:58:24 【问题描述】:

我为我的项目添加了以下依赖项以连接到数据库:

    <dependency>
        <groupId>com.ibm.db2.jcc</groupId>
        <artifactId>db2jcc4</artifactId>
        <version>4.19.26</version>
    </dependency>

由于与我的数据库的连接被拒绝 (ERRORCODE=-4499, SQLSTATE=08001) 我尝试添加更新的驱动程序

    <dependency>
        <groupId>com.ibm.db2.jcc</groupId>
        <artifactId>db2jcc4</artifactId>
        <version>11.1</version>
        <scope>system</scope>
        <systemPath>$basedir/lib/com/ibm/db2/jcc/db2jcc4/11.1/db2jcc4-11.1.jar</systemPath>
    </dependency>

我在我的项目目录中使用 maven install 命令安装了 jar。它创建了一个包含所有内容的 lib 文件夹。

但是我现在收到以下错误:

maven 项目肯定能够找到 jar 文件。

【问题讨论】:

【参考方案1】:

您缺少第二个依赖项:

<dependency>
    <groupId>com.ibm.db2</groupId>
    <artifactId>db2jcc_license_cu</artifactId>
    <version>11.1</version>
    <systemPath>$basedir/lib/com/ibm/db2/jcc/db2jcc4/11.1/db2jcc_license_cu.jar</systemPath>
</dependency>

Found on nacho4d's blog

【讨论】:

如果 Db2 数据库是远程的并且驻留在 Z/OS 或 i 系列 (AS/400) 上,那么您可能还需要 db2jcc_license_cisuz.jar) - 许可证文件,除非您正在连接间接通过 Db2-connect-gateway。 我认为只有在连接失败时才需要这样做。但就我而言,它甚至无法识别驱动程序。

以上是关于缺少驱动程序类 com.ibm.db2.jcc.DB2Driver 的依赖关系的主要内容,如果未能解决你的问题,请参考以下文章

MVC 脚手架 - 参考程序集中缺少类

Jedis-缺少用于简单程序的HostPort类

由于缺少 KIF 类,项目无法构建

启用 Proguard 时,Xamarin Android 应用程序因缺少 google play 服务类而崩溃

缺少驱动程序类 com.ibm.db2.jcc.DB2Driver 的依赖关系

Shadow jar 缺少常见的 java 类