Java 使用com.mysql.jdbc.Driver加载com.mysql.cj.jdbc.Driver错误
我最近遇到了很多数据库连接问题。 目前的情况是,驱动程序已更新为 适用于linux的mysql-connector-java-8.0.22.jar 当我将操作系统完全安装到20.x时,代码正在运行并被破坏。这导致了太多问题,我恢复到了18.0.4 课程负荷为:Java 使用com.mysql.jdbc.Driver加载com.mysql.cj.jdbc.Driver错误,java,mysql,jdbc,Java,Mysql,Jdbc,我最近遇到了很多数据库连接问题。 目前的情况是,驱动程序已更新为 适用于linux的mysql-connector-java-8.0.22.jar 当我将操作系统完全安装到20.x时,代码正在运行并被破坏。这导致了太多问题,我恢复到了18.0.4 课程负荷为: try { // The newInstance() call is a work around for some // broken Java implementations //Class.forNa
try { // The newInstance() call is a work around for some
// broken Java implementations
//Class.forName("com.mysql.jdbc.Driver").newInstance();
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
} catch (Exception ex) {
if (out != null) {
out.println("<p>Error while defining database driver: " +
"Class.forName: " + ex.getMessage());
out.println("<p>" + ex.toString() + "<p>");
// SKYPE_DEBUG.Log(DatabaseInterface.class.getName(), "mysql v[0] = "+ "\n",ex);
}
}
任何一个查询选项都会给出相同的错误
使用时:
Class.forName("com.mysql.jdbc.Driver").newInstance();
它开始在线路上抛出以下错误
conn = DriverManager.getConnection(query);
记录的异常为:
时间戳
2020年11月12日08:38:50.273
日志级别
严峻的
记录器
名称-值对
{levelValue=1000,timeMillis=1605170330273}
记录编号
631
消息ID
完整消息
正在加载类'com.mysql.jdbc.Driver'。这是不赞成的。新的驱动程序类是'com.mysql.cj.jdbc.driver'。驱动程序通过SPI自动注册,通常不需要手动加载驱动程序类。
我已将驾驶员的姓名更改为:
// Class.forName("com.mysql.jdbc.Driver").newInstance();
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
但是仍然会得到与上面相同的异常。两个调用都会创建相同的异常
Class.forName(某些类名称)
来加载JDBC驱动程序。这已经很久没有必要了
Class.forName
,也不应该对该类调用newInstance()
。这一评论:
// The newInstance() call is a work around for some
// broken Java implementations
它已经过时了。20年前可能是真的
我认为最好的办法是阅读OracleJava教程中的,其中描述了获得JDBC连接的两种正确方法。然后重写您的代码,用其中一种方法建立JDBC连接
除其他事项外,您将在代码中删除对特定JDBC驱动程序类的脆弱引用,并删除日志中令人讨厌的弃用消息。它还会抛出:type Exception report messageInternal Server Error description服务器遇到内部错误,导致无法满足此请求。异常java.lang.NoClassDefFoundError:无法初始化类com.mysql.cj.util.UtilThanks,我遵循了所有建议和链接。这个问题没有改变
// The newInstance() call is a work around for some
// broken Java implementations