【发布时间】: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 将在运行时由某些东西(通常是容器)提供,但可用于系统路径的编译时。所以你使用了错误的范围。