在命令行上 运行 java 时显示错误消息 "java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver"

Error message "java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver" is shown when run java on command line

我正在尝试 运行 命令行上的 java 程序,但显示此消息:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

然后我搜索了几个小时,大多数解决方案都是关于检查

  1. Java版本,
  2. 导入 JDBC jar 和
  3. 编辑类路径

对于1,我查看了我使用的java版本是1.8

所以对于 2,我已经下载了 sqljdbc41.jar ,将 jar 放入 lib 文件夹中,然后 运行 命令为:

java -cp C://Testing/lib/* -classpath . sampleJava

对于 3,我已将类路径编辑为 C://Testing/lib/sqljdbc41.jar

任何人都知道我是否遗漏了一些东西,所以仍然显示相同的错误消息?

下面是我的示例程序 运行:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;

public class sampleJava {
  int x = 5;

  public static void main(String[] args) {
    sampleJava myObj = new sampleJava();
    try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    } 
    catch (Exception e) {
            System.err.println("Got an exception! ");
            System.err.println(e.getMessage());
            System.err.println(e);
            System.out.println(e.toString());
            e.printStackTrace();
        }
    finally {           
                System.out.println("Done");
        }
    System.out.println(myObj.x);
  }
}

这应该有帮助

java -cp C:/Testing/lib/*; sampleJava

java -cp C:/Testing/lib/sqljdbc41.jar; sampleJava