簡體   English   中英

在命令行上運行 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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM