首页 > 解决方案 > Java:连接到 psql 数据库会引发错误 (ClassNotFoundException)

问题描述

我是 Java 新手,我试图连接到我的本地 PSql 数据库但没有成功,在代码和错误的详细信息下方。

我有 2 个文件:DbContract.java 和 TestConnection.java,我正在使用 Eclipse。

DbContract.java

package dbcontract.db;

public interface DbContract {

    public static final String HOST = "jdbc:postgresql://localhost:5432/";
    public static final String DB_NAME = "db_notespesa";
    public static final String USERNAME = "postgres";
    public static final String PASSWORD = "";
}

测试连接.java

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

import dbcontract.db.DbContract;

public class TestConnection {

    public static void main(String[] args) {
        try {
            Class.forName("org.postgresql.Driver");
            Connection conn = DriverManager.getConnection(
                    DbContract.HOST+DbContract.DB_NAME,
                    DbContract.USERNAME,
                    DbContract.PASSWORD);
            System.out.println("DB connected");

        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

错误:

java.lang.ClassNotFoundException: org.postgresql.Driver
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:315)
    at TestConnection.main(TestConnection.java:13)

标签: javadatabasedatabase-connectionpsql

解决方案


您需要添加 Postgress 驱动程序的依赖项,如错误说明,如果您使用的是 maven,只需将其添加到 pom.xml :

    <`<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.5</version>
</dependency>

更新了评论中提到的 Mark 版本,这里是 maven repo 上所有版本的链接: https ://mvnrepository.com/artifact/org.postgresql/postgresql


推荐阅读