簡體   English   中英

org.postgres.Driver類異常-初學者

[英]org.postgres.Driver Class Exception - Beginner

感謝您的幫助,我在這里是一個完整的菜鳥,但嘗試學習。 下面的代碼只是試圖創建與數據庫的連接。 我收到此錯誤:

 java.lang.ClassNotFoundException: org.postgres.Driver at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at CreateDB.main(CreateDB.java:11) java.lang.ClassNotFoundException: org.postgres.Driver 

在線研究了我遇到的解決方案是檢查是否已將庫添加到構建路徑。 我可以確認我有(我認為)。 為此,我右鍵單擊prject-> Properties-> Java Build Path-> external JARS並導航到位於“ ... \\ eclipse-workspace \\ libraries \\”中的postgresql-42.41.4..jar,我可以看到該庫已添加到項目中引用的庫下。 現在沒有任何線索我被困住了。 真誠地感謝您的任何幫助。

我正在從這里學習https://www.tutorialspoint.com/postgresql/postgresql_java.htm

import java.sql.Connection;
import java.sql.DriverManager;

public class CreateDB {
    public static void main(String Args[]) {
        Connection c = null;
        try {
            Class.forName("org.postgres.Driver");
            c = DriverManager.getConnection("jdbc.postgresql://localhost:1080/VEM", "postgres", "Diablo12" ); //creates connection with U&P
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println(e.getClass().getName() +": " + e.getMessage());
            System.exit(0);
        }
        System.out.println("Database opened successfully");
    }
}

正確的驅動程序名稱是: org.postgresql.Driver 因此,您的代碼應如下所示:

import java.sql.Connection;
import java.sql.DriverManager;

public class CreateDB {
    public static void main(String args[]) {
        Connection c = null;
        try {
            Class.forName("org.postgresql.Driver");
            c = DriverManager.getConnection("jdbc.postgresql://localhost:1080/VEM", "postgres", "Diablo12" ); //creates connection with U&P
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println(e.getClass().getName() +": " + e.getMessage());
            System.exit(0);
        }
        System.out.println("Database opened successfully");
   }
}

錯誤的驅動程序名稱會導致Java引發ClassNotFoundException因為在類路徑中找不到具有傳遞名稱的類。 從Java 6開始,不再需要通過Class.forName()加載驅動程序,就像他的注釋中指出的a_horse_with_no_name一樣。

暫無
暫無

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

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