为什么我需要java。lang.ClassNotFoundException:com。mysql。希杰。jdbc。mysqlconnectorjava8时的驱动程序。0.16.jar在类路径中?
我有一个java。lang.ClassNotFoundException:com。mysql。希杰。jdbc。当我在windows命令行中键入此命令时
javac src/*.java -d class -cp lib/*
java DBTest -cp lib/*
我也尝试过使用com。mysql。希杰。最后没有驱动程序的jdbc。我将newInstance()添加到第11行,因此:
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
但是没有变化
我也没上课就试过了。forName(),因为这是不推荐的,但我有一个java。sql。SQLException:未找到合适的驱动程序
mysql-connector-java-8.0.16。jar是lib中唯一的文件。我还尝试将它放在运行DBTest的文件夹中。JAVA我使用
set CLASSPATH = .
并通过高级系统设置创建环境变量CLASSPATH。然后我尝试编译并运行-cp和不使用-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);
}
}
}
整个错误消息是 JAVAlang.ClassNotFoundException:com。mysql。希杰。jdbc。司机
# 1 楼答案
你对
java
的参数顺序不对。将参数放在类名之后将这些参数传递给类的主方法,它不会设置类路径您需要将参数放在类名称之前。而且
-d class
不是java
的有效参数。简而言之,您需要使用: