我编写了这个 java 应用程序来响应来自命令行的数据并将其存储到数据库中:
import java.util.Scanner;
import java.sql.*;
public class Program {
public static void main(String[] args)throws ClassNotFoundException
{
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/DevOps_DB","root","root");
PreparedStatement st = conn.prepareStatement("INSERT INTO pers " + "VALUES ('"+args[0]+"'); ");
st.executeUpdate();
}
catch (SQLException ex) {
System.out.println("SQL Exception : "+ ex.getMessage());
System.out.println("Vendor Error : "+ ex.getErrorCode());
}
catch(ClassNotFoundException ex) {
ex.printStackTrace();
}
//
// for(String arg : args)
// {
// System.out.println(arg);
// }
}
}
但是我有以下异常:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at Program.main(Program.java:18)
为什么? ...对解决问题有什么帮助吗?
编辑:
我添加了.jar文件,见下图:
最佳答案
需要下载mysql connector jar文件(驱动程序实现)并将其添加到您的类路径。
请注意,如果您使用的是 JDBC 4.0(我认为是 Java 7 甚至 6),则无需使用 Class.forName("com.mysql.jdbc.Driver");
。只需将 jar 添加到类路径即可。驱动程序实现将自动从类路径中搜索和加载。
关于java - 如何解决java.lang.ClassNotFoundException : com. mysql.jdbc.Driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21813069/