有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

为什么我需要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) 个答案

  1. # 1 楼答案

    你对java的参数顺序不对。将参数放在类名之后将这些参数传递给类的主方法,它不会设置类路径

    您需要将参数放在类名称之前。而且-d class不是java的有效参数。简而言之,您需要使用:

    java -cp class:lib/* DBTest