[英]'java.sql.SQLException: No suitable driver fround' [SQLException, Heroku, Postgresql]
我目前正在嘗試將我的一個舊項目部署到 heroku。 本地一切工作完美。 (也與 heroku 提供的 amazonaws psql 數據庫一起使用)。 但是,一旦我嘗試將應用程序部署到 heroku,就會在 heroku 控制台中收到此(見下文)錯誤。
注:部分字母替換為“x”
java.sql.SQLException: No suitable driver found for jdbc:postgresql://xxx-xx-xx-xxx-xxx.eu-west-1.compute.amazonaws.com:5432/dxxxx5xx6xxxxx
要將 Java 應用程序連接到 postgresql 數據庫,我這樣做:
String jdbcURL = System.getenv("DATABASE_SERVER");
String username = System.getenv("DATABASE_USERNAME");
String password = System.getenv("DATABASE_PASSWORD");
try {
connection = DriverManager.getConnection(jdbcURL, username, password);
System.out.println("Verbindung zur Datenbank hergestellt");
statement = connection.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
完整的代碼可以在這里看到:
https://github.com/ConfusingBot/bot/blob/master/src/de/confusingbot/manage/sql/SQLManager.java
環境變量在 heroku 和本地定義。 並且本地一切都可以使用相同的變量正常工作。
pom.xml: https://github.com/ConfusingBot/bot/blob/master/pom.xml
謝謝
編輯:我發現 heroku 中確實存在 postgres 依賴項。(見下圖)但是找不到驅動程序。 Heroku 找不到 Postgres JDBC 驅動程序
但不幸的是,在我的情況下,他們的修復不起作用:/
構建包含所有依賴項的 jar 工作得很好..為此我們必須在 pom.xml 中定義一個插件,僅此而已..(見下文)
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>de.confusingbot.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.