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文件夹。如果这不起作用,请尝试使用该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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架