Этот вопрос, возможно, задал здесь несколько раз. После выполнения какого-либо поиска в Google для указанной выше ошибки и выполнения некоторого обновления я не могу понять, почему я все еще получаю эту ошибку. Я уже положил driver-- MySQL-разъем-Java-5.1.5-бен в пути к классам:ClassNotFoundException com.mysql.jdbc.Driver
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)
Теперь, что это неправильно, я здесь делаю?
Итак, что же делает ваш путь к классам выглядит? Вы должны поместить JAR-файл (mysql-connector-java-5.1.5-bin.jar) в путь к классам. – Jesper
Сообщение об исключении имеет двоеточие в имени класса, которое, я считаю, не должно произойти. –
«Класс.forName() 'была устаревшей с JDBC 4 в 2007 году, и независимо от того, какой MySQL Connector впервые ее реализовал. – EJP