这个问题可能在这里问过很多次了。经过一些谷歌搜索上述错误并进行了一些更新后,我不明白为什么我仍然收到该错误。我已经将驱动程序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();
}
}
并且上述异常的完整stacktrace为:
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)
现在,我在这里怎么了?
最常见的原因是在加载类的位置上存在一些冲突。例如,如果您有2个位置,一个有JDBC驱动程序,而另一个没有,那么如果您的类加载器是从第1个位置加载的,而第1个位置的某个类想要使用该驱动程序-该驱动程序不存在。因此,查找正在使用您的驱动程序的重复JAR