具有 Postgresql 部署的 Spring Boot MVC 应用程序在 Heroku 中失败

Posted

技术标签:

【中文标题】具有 Postgresql 部署的 Spring Boot MVC 应用程序在 Heroku 中失败【英文标题】:Spring Boot MVC application with Postgresql deployment failed in Heroku 【发布时间】:2017-06-04 10:25:25 【问题描述】:

我有一个 Spring Boot MVC 项目。它适用于 h2 数据库,也适用于具有以下 application.properties 配置的本地 postgre 数据库

spring.datasource.url=myUrl
spring.datasource.username=myUsername
spring.datasource.password=myPassword

但是当我尝试在 Heroku 中部署它时,出现以下错误:

引起:org.hibernate.HibernateException:访问 未设置“hibernate.dialect”时,DialectResolutionInfo 不能为空

如果我使用这个配置

spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=herokuPostgreSqlDbUrl
spring.datasource.username=herokuUsername
spring.datasource.password=mherokuPassword

我在尝试从 STS 运行我的项目但部署失败时遇到此问题。

原因:java.sql.SQLException: Driver:org.postgresql.Driver@17a3dff6 为 URL:myUrl 返回 null

我的 pom 是:

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.4-1206-jdbc42</version>
        </dependency>

任何机构都可以帮忙吗?

【问题讨论】:

【参考方案1】:

您需要一个正确的 JDBC 网址。见:https://springframework.guru/configuring-spring-boot-for-postgresql/

【讨论】:

我使用 spring.datasource.url=jdbc:postgres://ec2-54-235-124-2.compute-1.amazonaws.com:5432/xyzDbname 作为 jdbc url 可以吗?

以上是关于具有 Postgresql 部署的 Spring Boot MVC 应用程序在 Heroku 中失败的主要内容,如果未能解决你的问题,请参考以下文章

使用docker部署的postgresql镜像在运行一段时间后无法验证spring应用程序

Spring Boot 应用在部署到 Google App Engine 时无法连接到 Google Cloud SQL (PostgreSQL)

具有相似架构的 Spring Multi 数据源

JAVA spring (JPA) 中的PostgreSQL + Elasticsearch 同步

如何在 Flutter+Spring Boot+PostgreSQL+Heroku 结构中发送和存储图像?

如何在弹性beantalk中将PostgreSQL RDS连接到spring boot?