转眼之间, 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. Android——Service介绍与例子

    官方定义:Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件.其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行.另外,一个组件 ...

  2. 本地git连接远程github

    git要连接GitHub仓库,是通过SSH加密连接的,所以必须要创建SSH key ssh-key -t rsa -C "youremail@example.com" 这里邮箱必须 ...

  3. Docker入门与实践

      一.Docker介绍 docker官网:https://www.docker.com/ Docker hub地址: https://hub.docker.com/   1.基本概念 Docker ...

  4. 开机自动获取spark用户名和服务器

    import os.path import getpass import platform import time username = getpass.getuser() #获取当前用户名 home ...

  5. Java连接RabbitMQ之创建连接

    依赖包: <dependencies> <dependency> <groupId>junit</groupId> <artifactId> ...

  6. 转 Pycharm及python安装详细教程

    转 : http://blog.csdn.net/qq_29883591/article/details/52664478 首先我们来安装Python 1.首先进入网站下载:点击打开链接(或自己输入网 ...

  7. ES6函数增强

    函数参数可以拥有默认值.调用函数时,如果没有进行相应的实参传递,参数就会使用默认值.怎么给参数提供默认值呢?很简单,声明函数时候,给形参赋一个值就可以了,这个值就是参数的默认值. // num2拥有默 ...

  8. [西安交大附中集训] d6 删边(cip)

    B. 删边(cip.cpp/in/out 1S/256M) 题面 给出一个没有重边和自环的无向图,现在要求删除其中两条边,使得图仍然保持连通. 你的任务是计算有多少组不合法的选边方案.注意方案是无序二 ...

  9. 【数学建模】day09-聚类分析

    0. 多元分析之聚类分析. 聚类分析是一种定量方法,从数据的角度,对样本或指标进行分类,进而进行更好的分析. 分为Q型聚类和R型聚类. 1. Q型聚类分析是对样本进行分类.有若干样本,我们把这些样本分 ...

  10. JSON 解析 (二)—— Jackson的使用

    Jackson是基于Java语言的一种JSON和Java对象的数据处理工具.功能上简单易用,性能上根据目前主流转换工具比较,Jackson相对比较高效. <dependency> < ...