【问题标题】:ClassNotFoundException when I am trying to connect to PostgreSQL with JDBC [duplicate]当我尝试使用 JDBC 连接到 PostgreSQL 时出现 ClassNotFoundException [重复]
【发布时间】:2019-04-09 03:51:32
【问题描述】:

我在尝试使用 Java 10.0.2 连接到 PostgreSQL 11 时遇到问题。我正在使用 Eclipse 2018-09 IDE。 因此,首先,我下载了驱动程序 postgresql-42.2.5,并将其放在 jdk-11 的文件夹 lib 中。然后我尝试执行以下代码:

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

public class Connect {

    public static void main(String[] args) {
        try {
            Class.forName("org.postgresql.Driver");
            System.out.println("Driver O.K.");

            String url = "jdbc:postgresql://localhost:5432/Ecole";
            String user = "postgres";
            String passwd = "postgres";

            Connection conn = DriverManager.getConnection(url, user, passwd);
            System.out.println("Connection succeded !");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
} 

这似乎不起作用,因为我有一个ClassNotFoundException

java.lang.ClassNotFoundException: org.postgresql.Driver
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)
    at Connect.main(Connect.java:8)

作为另一种尝试(我不知道它是否有帮助),我尝试从 IDE 添加用户库并手动添加驱动程序的路径(最终它没有帮助),结果我得到与上面完全相同的错误。

作为java初学者,我可以使用任何帮助,谢谢!

【问题讨论】:

  • 确定这是输出:Driver O.K. java.sql.SQLException:找不到适合 jdbc:postgresql://localhost:5432/Ecole 的驱动程序在 java.sql/java.sql.DriverManager.getConnection(Unknown Source) at java.sql/java.sql.DriverManager.getConnection (来源不明)在 Connect.main(Connect.java:15)
  • 右键项目,进入buildpath-->添加外部库-->添加postgres jar
  • @Deadpool 很好的答案,行得通!
  • 您不能将随机库放在 Java 安装的 lib 文件夹中:这不起作用。您需要将其添加到类路径中。

标签: java database eclipse postgresql jdbc


【解决方案1】:

您可以在 $JRE/lib/ext 文件夹中添加其他库 (JAR)

Adding Library to JRE

【讨论】:

  • 你不应该把东西放在 lib/ext 中(在最近的 Java 版本(Java 9 和更高版本)中,这个选项甚至不再存在了)。
【解决方案2】:

在项目->构建路径中将PostgreSQL-JDBC-Driver-jar添加到Libraries

**右击Project--> Build Path--> Configure Build Path-->Libraries TAP--> Add External Jars

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多