当前位置: 首页 > 知识库问答 >
问题:

Java:连接到psql数据库引发错误(ClassNotFoundException)[重复]

慎志国
2023-03-14

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

我有两个文件:dbcontract.java和testconnection.java,我正在使用Eclipse。

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 = "";
}

TestConnection.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)

共有1个答案

谢璞
2023-03-14

正如错误所解释的那样,您需要为Postgence的驱动程序添加依赖项,如果使用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

 类似资料:
  • 我读到的几乎所有答案都说我的数据库名或pw是错的,但我100%确定不是。以下是http错误描述:javax . servlet . servlet异常:javax . servlet . JSP . JSP异常:无法获取连接,数据源无效:“java.sql.SQLException:拒绝用户' root'@'localhost '(使用密码:YES)的访问” 如果有人能帮助我,我会很棒。仍然是编程

  • PSQL:无法连接到服务器:连接被拒绝服务器是否在主机“”上运行并接受端口5432上的TCP/IP连接? Postgres安装版本为9.4。 主机操作系统:Ubuntu 15.04 客户端操作系统:Centos 7 我已经尝试了以下方法,但问题仍未解决: null

  • 我尝试通过应用服务器Glassfish和JPA连接到mysql数据库。 我的persistence.xml如下所示: 有什么问题?

  • 我使用Laravel 5和我的数据库连接有问题: 这是我的database.php文件: 这是我的. env文件: DB_HOST=localhost DB_数据库=我的_场景 DB_USERNAME=root DB_PASSWORD=null 然而,当我运行“php artisan migrate”时,我得到了一个错误 [PDOException]SQLSTATE[HY000][1049]未知数

  • 我刚刚完成了Oracle Fusion中间件12c的新安装。这是Weblogic 12.2.1.3.0的新版本。每当我尝试创建新的JDBC连接时,我都会收到以下错误。 我已经有一段时间了,谷歌帮不了我什么忙。任何帮助都将不胜感激。 谢谢

  • 我的在live server上类似这样的环境文件设置。但当我在的时候 错误是 我使用这个主机和密码通过putty访问我的sshhttp://5.100.156.10:2082我很困惑。