找不到合适的驱动程序(Postgres JDBC):java.sql.SQLException:找不到适合 jdbc:postgresql://rds-service:5432/postgres 的驱动程序

No Suitable Driver Found (Postgres JDBC) : java.sql.SQLException: No suitable driver found for jdbc:postgresql://rds-service:5432/postgres

我正在尝试与 CentOS 7 ec2 实例上的 postgres 数据库建立简单连接。这是我的 PostgresqlConnect.java 文件:

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

public class PostgresqlConnect {
    
    private final static String url = "jdbc:postgresql://rds-service:5432/postgres";
    private final static String user = "root";
    private final static String password = "test123";
    
    public static void main(String[] args) {
        try{
            Connection connection = DriverManager.getConnection(url, user, password);
            if (connection!= null) {
                System.out.println("Connected successfully!");
            }
            else {
                System.out.println("Failed to connect.");
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

我run/compile的步骤如下:

> javac -cp /usr/share/java/postgresql-jdbc.jar PostgresqlConnect.java`

> java PostgresqlConnect

我明白了:

-------- PostgreSQL JDBC Connection Testing ------------
java.sql.SQLException: No suitable driver found for jdbc:postgresql://rds-service:5432/postgres
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at PostgresqlConnect.main(PostgresqlConnect.java:15)

我安装了 postgresql-jdbc rpm 包:yum install postgresql-jdbc。我想我在将 -cp /usr/share/java/postgresql-jdbc.jar 添加到我的 javac -cp /usr/share/java/postgresql-jdbc.jar PostgresqlConnect.java 命令时正在链接库,所以不确定我哪里出错了。我的 javacjava 版本都是 14.0.2.

正确的方法是运行,看到“连接成功!”会是

> javac PostgresqlConnect.java
> java -cp /usr/share/java/postgresql-jdbc3.jar PostgresqlConnect.java