gpt4 book ai didi

mysql - 调用 DriverManager.getConnection() 时出现意外的 java.lang.NoClassDefFoundError

转载 作者:行者123 更新时间:2023-11-30 01:30:45 26 4
gpt4 key购买 nike

我正在编写一个Java应用程序,需要通过JDBC将一些数据插入MySQL数据库。相关代码如下:

public JDBCDecoder() {

try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Loaded MySQL JDBC driver");
} catch (ClassNotFoundException e) {
System.out.println("Exception attempting to load MySQL JDBC driver");
}

String url = "jdbc:mysql://localhost/db";

Properties props = new Properties();
props.put("user", "root");
props.put("password", "root");

try {
conn = DriverManager.getConnection(url, props);
conn.setAutoCommit(false);
} catch (SQLException e) {
Throwables.propagate(e);
}
....

}

这是我尝试运行代码后得到的错误堆栈跟踪:

java.lang.NoClassDefFoundError: Could not initialize class oracle.jdbc.OracleDriver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at java.sql.DriverManager.getCallerClass(DriverManager.java:477)
at java.sql.DriverManager.getConnection(DriverManager.java:576)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at exportclient.JDBCExportClient$JDBCDecoder.<init>(JDBCExportClient.java:179)
at exportclient.JDBCExportClient.constructExportDecoder(JDBCExportClient.java:604)
at export.processors.GuestProcessor$1.run(GuestProcessor.java:113)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at utils.CoreUtils$1$1.run(CoreUtils.java:259)
at java.lang.Thread.run(Thread.java:680)

这对我来说很奇怪,因为:1)我没有尝试连接到 Oracle 数据库; 2)实际上我的类路径中有一个ojdbc6.jar(其中包含oracle.jdbc.OracleDriver)。所以我完全不知道为什么会发生这个错误。

任何建议将不胜感激。提前致谢!

最佳答案

关于mysql - 调用 DriverManager.getConnection() 时出现意外的 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17496024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com