Spring Boot 构建可执行 jar 失败
Posted
技术标签:
【中文标题】Spring Boot 构建可执行 jar 失败【英文标题】:Springboot build executable jar failed 【发布时间】:2018-03-01 23:46:04 【问题描述】:我在 IntelliJ 中使用 Maven Projects -> Lifecycle -> package 构建可执行 jar 时收到这样的错误消息
原因:org.postgresql.util.PSQLException: FATAL: 用户“postgres”的密码验证失败
但是当我将本地 postgres 密码放入 hibernate.cfg 时,它可以工作。
为什么构建 jar 必须连接到数据库才能工作?
问题是我的本地 postgres 和服务器 postgres 密码不一样,我可以将本地 postgres 更改为具有相同的密码,但是如果我有多个不同项目的不同密码的服务器,则会出现问题。
【问题讨论】:
【参考方案1】:如果您使用 application.properties,您必须像这样设置连接:
spring.datasource.url=jdbc:postgresql://localhost:5432/yourdb
spring.datasource.username=postgres
spring.datasource.password=sql
spring.datasource.driver-class-name=org.postgresql.Driver
【讨论】:
谢谢,我正在使用 hibernate.cfg.xml,虽然我尝试了你的方法,并删除了 hibernate.cfg.xml 中的密码和用户名,现在它甚至无法在本地服务器上运行错误消息 org.postgresql.util.PSQLException: 服务器请求基于密码的身份验证,但未提供密码。以上是关于Spring Boot 构建可执行 jar 失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 `publishToMavenLocal` 构建可以发布到 maven 本地 repo 的可执行 jar - spring boot 项目
Spring Boot Gradle 打包可执行Jar文件!
Spring Boot 完全可执行的 jar,内部没有依赖项
没有依赖关系的 Spring Boot 可执行 Jar 文件