Ojdbc10和jdk12

问题描述

我正在尝试使用使用jdk12的应用程序连接到Oracle Database Express Edition(XE)18.4.0.0.0版。 我将ojdbc10用作外部jar并收到以下错误:

java.lang.RuntimeException: Failed to load class of driverClassName [oracle.jdbc.driver.OracleDriver] in either of HikariConfig class loader or Thread context classloader

我的ojdbc10.jar在类路径中(它已加载到应用程序中)。而且Oracle官方网站仅声明ojdbc10已通过jdk10认证,并且没有说明 关于jdk12。

有人对导致这种情况的原因有任何想法吗?

因为无法降级jdk,有什么办法可以使ojdbc与jdk12一起使用?

解决方法

这很奇怪。

ojdbc10用于Java JVM10。这就是您可以从JDBC驱动程序文件名获得的全部。 您可以通过“执行”驱动程序来获取其余信息(JDBC ver,DB ver)。

$ java -jar ojdbc6.jar
Oracle 11.2.0.4.0 JDBC 4.0 compiled with JDK6 on Thu_Jul_03_18:17:32_PDT_2014
#Default Connection Properties Resource
#Wed Jul 15 11:33:31 GMT 2020

对于您而言,问题必须是其他问题。 JVM 12应该能够加载Java 10 jar。

IMHO Java 12还没有引入任何新的JDBC标准更新(仍在JDBC 4.3版上),因此将没有任何ojdbc12.jar驱动程序文件-因为JDBC版本的实现才是真正重要的。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...