【问题标题】:ojdbc14 external jar file raises not found exception [duplicate]ojdbc14外部jar文件引发未找到异常[重复]
【发布时间】:2021-07-20 20:30:37
【问题描述】:

我正在尝试在我的 Spring Boot 项目中添加外部 jar 文件。

pom.xml 我有:

<dependencies>
    <dependency>
        <groupId>ojdbc14</groupId>
        <artifactId>ojdbc14</artifactId>
        <scope>system</scope>
        <version>1.0</version>
        <systemPath>C:\Users\myUser\Dropbox\Projects\myProject\ojdbc14.jar</systemPath>
    </dependency>
</dependencies>

在 java 文件中的一个类中,我有:

Class.forName("oracle.jdbc.driver.OracleDriver");

运行项目时出现以下错误:

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at com.ucy.MyApi.getdbConnection(myApi.java:23)

【问题讨论】:

  • 你真的还在使用 Java 1.4 吗?
  • @a_horse_with_no_name 不,但不幸的是,我们正在连接的系统是的,我必须与之连接。
  • JDBC 驱动程序通常是向后兼容的,因此您可以使用较新的驱动程序连接到较旧的数据库。
  • system 作用域类似于provided,这意味着 jar 将在运行时由某些东西(通常是容器)提供,但可用于系统路径的编译时。所以你使用了错误的范围。

标签: java spring


【解决方案1】:

这可能有助于ojdbc14.jar vs. ojdbc6.jar

您确定 POM 中的定义正确吗?

我用这个:

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>18.3.0.0</version>
</dependency>

检查特定版本的 Oracle 和正确的 jar 版本。它应该不需要系统路径。

【讨论】:

    【解决方案2】:

    您需要使用 maven 命令来安装 3rd 方 jar:

    mvn install:install-file -Dfile=C:\Users\myUser\Dropbox\Projects\myProject\ojdbc14.jar -DgroupId=ojdbc14 -DartifactId=ojdbc14 -Dversion=1.0 -Dpackaging=jar
    

    https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

    之后更改您的 pom 文件,如下所示:

    <dependency>
            <groupId>ojdbc14</groupId>
            <artifactId>ojdbc14</artifactId>
            <version>1.0</version>
            <scope>provided</scope>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 2015-12-05
      相关资源
      最近更新 更多