[英]Loading the Postgresql JDBC 4.1 driver
我想使用JDBC 4.1驅動程序連接到PostgreSQL數據庫。 我在pom.xml
聲明了以下依賴關系:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.3-1101-jdbc41</version>
</dependency>
這會將postgresql-9.3-1101-jdbc41.jar
放入我的類路徑中。 我已經讀到,如果在META-INF/services/java.sql.Driver
指定了驅動程序,則不再需要使用Class.forName()
加載驅動程序。 驅動程序jar具有此文件,但仍然出現以下錯誤:
No suitable driver found for jdbc:postgresql://localhost:5432
我只是在測試中致電,然后使用mvn test
運行mvn test
:
DriverManager.getConnection("jdbc:postgresql://localhost:5432");
即使我在收到錯誤之前調用Class.forName()
。 如何正確加載驅動程序?
您的連接網址無效。 您必須指定數據庫,否則驅動程序將不接受URL。
正確的URL為:
jdbc:postgresql://localhost:5432/database_name
或使用默認端口時:
jdbc:postgresql://localhost/database_name
消息“ 找不到合適的驅動程序 ”是由DriverManager
生成的消息,詢問所有已注冊的驅動程序是否接受給定的URL。 然后,第一個說“是”的驅動程序將用於打開連接。 Postgres驅動程序不接受URL,因為缺少數據庫,並且沒有其他驅動程序要問, DriverManager
“放棄”並向您顯示該錯誤消息。
如果該類不可用,您將從DriverManager
收到ClassNotFoundException
而不是“消息”。
這似乎與Maven正確設置類路徑有關。 看看這個 ,聽起來像一個類似的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.