【发布时间】:2019-06-24 13:26:59
【问题描述】:
当我在 Windows 命令行中键入时,我得到一个 java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
javac src/*.java -d class -cp lib/*
java DBTest -cp lib/*
我也试过在最后使用没有驱动程序的 com.mysql.cj.jdbc。我将 newInstance() 添加到第 11 行,所以它是:
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
但没有任何变化。
我也尝试过不使用 Class.forName(),因为它已被弃用,但我得到了 java.sql.SQLException: 找不到合适的驱动程序
mysql-connector-java-8.0.16.jar 是 lib 中唯一的文件。我也试过把它放在我运行 DBTest.java 的文件夹中。我使用
从命令行设置类路径set CLASSPATH = .
并通过高级系统设置创建环境变量 CLASSPATH。然后我尝试使用和不使用 -cp 进行编译和运行,因为它应该检查 jar 文件的当前目录。
我也尝试在 eclipse 中运行这个,但是 eclipse 崩溃了,将不再打开。
import java.sql.*;
public class DBTest{
public static void main(String args[]) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/employees", "root", "root");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from employees Limit 10");
while(rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getDouble(3));
}
con.close();
}catch(Exception e) {
System.out.println(e);
}
}
}
整个错误信息是 java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
【问题讨论】: