簡體   English   中英

錯誤:java.lang.ClassNotFoundException:org.postgresql.Driver

[英]error: java.lang.ClassNotFoundException: org.postgresql.Driver

我只是想從 Debian 10 上的 java (11.0.8) 連接到 postgres (13.0.1) 並得到以下錯誤:

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

public class cli_test {
    public static void main(String[] args) {
    
        try {
            Connection connection = null;
            Class.forName("org.postgresql.Driver");
            
            connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/myproj", "postgres", "<pwd>");
            
            System.out.println("Connection established successfully");
        } catch (Exception e) {
            System.out.print("error: \n" + e.toString() + "\n" + e.getMessage());
        }
    }
}

我運行這些命令:

CLASSPATH=/usr/lib/jvm/java-11-openjdk-amd64/lib/postgresql-42.2.18.jar
javac -verbose cli_test.java
java cli_test

我已驗證該 jar 文件存在於該位置並設置為 755 權限。

我收到此錯誤:

java.lang.ClassNotFoundException: org.postgresql.Driver

我花了幾個小時在網上搜索,發現很多其他人也有這個問題。 我找到的其他解決方案都沒有修復它。 我正在嘗試在沒有 java ide 的情況下執行此操作,而只是一個文本編輯器。

這不是 Java 問題,而是您以錯誤的方式使用 bash。 設置CLASSPATH=..不會使此環境變量在之后的程序調用中可供java使用。 嘗試

export CLASSPATH=.:/usr/lib/jvm/java-11-openjdk-amd64/lib/postgresql-42.2.18.jar
javac -verbose cli_test.java
java cli_test

或者

CLASSPATH=.:/usr/lib/jvm/java-11-openjdk-amd64/lib/postgresql-42.2.18.jar java cli_test

暫無
暫無

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

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