没有适合postgres的驱动程序,即使Class.forName有效吗?

cor*_*iKa 3 java postgresql jdbc

我正在尝试使用以下驱动程序连接到我的postgresql数据库:

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>9.4-1204-jdbc41</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码:

Class.forName("org.postgresql.Driver");
System.out.println("Driver version: " + org.postgresql.Driver.getVersion());

String jdbcUrl = "jdbc:postgresql://localhost:5432";
String user = "postgres";
String pass = "password"; // super secure

Connection c = DriverManager.getConnection(jdbcUrl, user, pass);
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

驱动程序版本:PostgreSQL 9.4 JDBC4.1(build 1204)
java.sql.SQLException:找不到适合于jdbc的驱动程序:postgresql:// localhost:5432
       at java.sql.DriverManager.getConnection(DriverManager.java:689)
       at java. sql.DriverManager.getConnection(DriverManager.java:247)
       在[连线c = DriverManager ...]行

那么这个9.4驱动程序不适合怎么样?我知道我可以通过我的psql命令行登录,但我似乎无法通过Java工作.

我已经多次完成了这样的应用程序,但似乎无法看到我在这里缺少的东西......

And*_*ell 5

所有归功于a_horse_with_no_name的评论,但这个问题需要一个答案.

在连接字符串中指定数据库或添加尾部斜杠.

坏网址:

jdbc:postgresql://localhost:5432

好:

jdbc:postgresql://localhost:5432/

要么

jdbc:postgresql://localhost:5432/thebestdatabase