如何解决'java.sql.SQLException: 找不到合适的驱动程序' [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
env 变量在 heroku 和 local 中定义。本地一切正常,使用相同的变量。
pom.xml: https://github.com/ConfusingBot/bot/blob/master/pom.xml
谢谢
编辑: 我发现heroku中确实存在postgres依赖项..(见下图)但是找不到驱动程序.. Heroku cannot find Postgres JDBC Driver
但不幸的是,在我的情况下,他们的修复不起作用:/
解决方法
构建包含所有依赖项的 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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。