java 8: ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

Posted 沙的空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 8: ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver相关的知识,希望对你有一定的参考价值。

转眼之间, java 11都快要推出了。

而我一直都在 java 7环境下写代码,真的不想升级,不想改变什么,可世界每天都在变化。

最近因为服务端需要SNI,而 java 7 只支持客户端的SNI,只有升级到java 8才能使用服务端的 SNI,我又怕升级到 java 8后,原来的代码受影响,就找了台平时不用的电脑安装了 java 8。

运行了一下代码,果然遇到了问题:ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

网上搜索了一下相关资料,说是 JDK8删除了JDBC-ODBC桥(从Java 8开始,JDBC-ODBC Bridge将不再包含在JDK中。),然后找到一个解决方案: 从 java 7 提取  jdbc 

1. 下载JDK 7或JRE 7。

2. 转到JRE lib文件夹并找到rt.jar

3. 将其解压缩(如果您安装了WinRAR或7zip),或者您可以将其重命名为rt.zip并将其解压缩。

4 复制sun jdbc和sun security action文件夹,保留文件夹结构。即你应该有如下的文件夹结构:

  Sun --> Security --> Action

  Sun --> JDBC

5. 打开一个CMD窗口。转到Sun文件夹的父文件夹。运行命令:jar -cvf jdbc.jar sun

6. 上述命令将创建一个名为jdbc.jar的文件

7. 将JDBC.jar复制到您的JDK8或JRE8 lib文件夹。如果这不起作用,请尝试使用该libext文件夹。

8. 将jdbcodbc.dll从JRE 7安装的JRE bin复制到JRE 8安装的JRE bin。

9. 重新启动您的JVM。

 

来源: 

https://stackoverflow.com/questions/14229072/removal-of-jdbc-odbc-bridge-in-java-8

http://bigfatball.blogspot.com/2016/03/how-to-enable-jdbc-odbc-bridge-for-jdk-8.html

 

以上是关于java 8: ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver的主要内容,如果未能解决你的问题,请参考以下文章

Spring Tool Suite - ClassNotFoundException:oracle.jdbc.driver.OracleDriver

致命异常:java.lang.NoClassDefFoundError 解析失败:某些设备中的 Ljava/time/Month

自定义声纳规则 - ClassNotFoundException: com.sonar.sslr.api.AstAndTokenVisitor

将 Kotlin 运行时库添加到 android 中的 aar

Java 8实战- Java 8基础知识

java取余。刚开始学习java 遇到这种问题就犯迷,求各位大神讲解一下。 8%2 //