转眼之间, 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文件夹。如果这不起作用,请尝试使用该lib\ext文件夹。

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的更多相关文章

  1. java.lang.ClassCastException: sun.jdbc.odbc.JdbcOdbcStatement cannot be cast to java.beans.Statement

    当导入的包为:import java.sql.Statement;时,无任何错误 当导入的包为:import java.beans.Statement;时,出错

  2. myeclipe eclipse 常遇问题:Some projects cannot be imported 、java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver、The file connot be validate

    1.Some projects cannot be imported because they already exist in the workspace 2.Some projects were ...

  3. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at java.net.URLClassLoader.findCla ...

  4. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法 (2011-05-05 16:08:05) 转载▼ ...

  5. java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver

    在使用JDBC时经常碰到java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver问题 这是jvm找不到驱动类文件,可能是以下原因: 没有导入驱 ...

  6. JAVA-系统-【3】-java应用连接oracle正常,但是网页却报错java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

    这是因为jar包已经导入了项目的应用部分,网页的lib去没有导入. 导入以后还要刷新项目,最好重启tomcat,就解决了..

  7. JDBC ODBC区别

    一.JDBC(Java DataBase Connectivity standard) 1.JDBC,它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库. 2. 驱动程序(JDBC ...

  8. java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

    因为这个问题折腾了以上午,终于解决了,做下记录: 错误提示为:java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLSer ...

  9. Exception 02 : java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver

    异常名称 java.lang.ClassNotFoundException: Could not load requested class : com.mysql.jdbc.Driver 异常详细信息 ...

随机推荐

  1. 剑指offer(10)

    题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路: 如果忽略题目中 ...

  2. python数据结构与算法第八天【冒泡排序】

    1.排序算法的稳定性 稳定排序算法会让原本有相同键值的记录维持相对次序 例如:对以下元组按照元组的第一个元素升序排列,元组如下: (4,1) (3,1) (3,7) (5,6) 若要满足条件,则可能的 ...

  3. Java面向对象之多态的静态和动态实现

    简单而言: 静态多态:即为重载,方法的重载 动态多态:即为重写/覆盖,方法的重写

  4. tensorflow中使用指定的GPU及GPU显存 CUDA_VISIBLE_DEVICES

    参考: https://blog.csdn.net/jyli2_11/article/details/73331126 https://blog.csdn.net/cfarmerreally/arti ...

  5. mvc 按钮权限控制

    需要开发一个按钮权限的控制,思路:拦截所有按钮路径,和用户拥有的3级按钮权限对比, 所有验证都一个方法解决,只需要修改js后的参数,参数就是按钮对应的权限码 如果有什么问题请提醒,谢谢! xml: & ...

  6. DotNetty 实现 Modbus TCP 系列 (四) Client & Server

    本文已收录至:开源 DotNetty 实现的 Modbus TCP/IP 协议 Client public class ModbusClient { public string Ip { get; } ...

  7. React 学习(二) ---- props验证与默认属性

    在上一节中, 我们提到了props, 组件之间数据的传递使用props. 我们调用组件时可以设置props, 组件内部通过props获取. 为了props 使用更加友好, React 提供了简单的验证 ...

  8. 配置 Django

    Django项目的设置文件位于项目同名目录下,名叫settings.py.这个模块,集合了整个项目方方面面的设置属性,是项目启动和提供服务的根本保证. 一.简述 settings.py文件本质上是一个 ...

  9. python的小练习

    # -*- coding: utf-8 -*- """练习:有1,2,3,4. 4个数能组成多少个互不相同且无重复数字的三位数,分别是多少?""&qu ...

  10. AtCoder Regular Contest 102 E Stop. Otherwise...

    题目链接:atcoder 大意:有\(n\)个骰子,每个骰子上面有\(k\)个数,分别是\(1\text ~ k\),现在求\(\forall i\in[2...2k]\),求出有多少种骰子点数的组合 ...