这个问题在这里可能已经问了很多次了。在谷歌上搜索了上面的错误并进行了一些更新后,我不明白为什么我仍然得到这个错误。我已经将我的驱动程序-- mysql-connector-java-5.1.5-bin放到了类路径中:
Java_Home\jre\lib\
Java_Home\jre\lib\ext\
Java_Home\lib
我用来连接mysql数据库的代码是:
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mail","root","");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select message_body from deadletter");
String dbtime;
while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
}
con.close();
}
catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
}
}
而上述异常的完整堆栈跟踪是:
java.lang.ClassNotFoundException: com.mysql.jdbc:Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at mail.main(mail.java:114)
现在,我在这里做什么呢?
发布于 2009-10-18 19:42:51
最常见的原因是在加载类的位置上有一些冲突。例如,如果你有两个位置,一个有JDBC驱动程序,另一个没有,那么如果你的类加载器从第一个位置加载,而来自第一个位置的某个类想要使用驱动程序-驱动程序就不在那里。因此,请查找正在使用您的驱动程序的重复JAR
发布于 2012-11-02 14:21:00
我也为同样的问题而苦苦挣扎,最终找到了解决方案。只需将MySql-Connector.jar
复制到Tomcat的lib
文件夹中,然后从webapp的lib
文件夹中删除jar,然后运行项目。
发布于 2010-12-28 08:11:32
我也有同样的问题,但经过长时间的搜索,我找到了这个:http://www.herongyang.com/JDBC/MySQL-JDBC-Driver-Load-Class.html
但我做了些改变。我将驱动程序放在与我的ConTest.java
文件相同的文件夹中,并编译它,生成ConTest.class
。
所以在这个文件夹中有
ConTest.class
mysql-connector-java-5.1.14-bin.jar
我写了这篇文章
java -cp .;mysql-connector-java-5.1.14-bin.jar ConTest
这样,如果您不使用任何IDE,只需在windows中使用cmd,或者在linux中使用shell。
https://stackoverflow.com/questions/1585811
复制相似问题