You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot配置PostgreSQL数据源失败:未指定'url'属性且无法配置嵌入式数据源

Spring Boot配置PostgreSQL数据源失败:未指定'url'属性且无法配置嵌入式数据源

我完全懂你现在被这个报错折腾的烦躁感——试了各种配置还是卡在这里,咱们一步步拆解问题,把这个数据源配置的坑填上。

先排查几个明显的问题点

1. pom.xml里的重复依赖

我注意到你的依赖中重复引入了spring-boot-starter-data-jpa两次:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- 下面这个是重复的,要删掉 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

重复依赖可能会导致版本冲突或者加载异常,先把其中一个删掉,保持依赖的整洁性。

2. 数据源URL的格式错误

你第一个尝试的application.properties里,URL写法明显不对:

# 错误格式
spring.datasource.url=jdbc:postgresql:5432//localhost/gamestudio

PostgreSQL的JDBC URL正确格式应该是:jdbc:postgresql://<主机地址>:<端口>/<数据库名>,也就是你第二个尝试的格式是正确的,但要确保没有拼写错误:

# 正确格式
spring.datasource.url=jdbc:postgresql://localhost:5432/gamestudio

3. 确认配置文件的位置

一定要保证application.properties是放在src/main/resources目录下,这是Spring Boot默认加载配置文件的位置。如果放错了目录(比如放到了src/main/java里),Spring Boot根本读取不到你的配置,自然会报找不到url的错误。

4. 额外的配置优化(可选但有用)

  • Spring Boot 2.x版本之后,spring.datasource.driver-class-name可以不用手动指定,它会根据URL自动推断驱动类,不过如果要写的话确保是org.postgresql.Driver没问题。
  • spring.jpa.properties.hibernate.dialect也可以不用手动配置,Spring Boot会根据数据源自动匹配对应的方言,但指定了也不会有问题。

修正后的参考配置

清理后的pom.xml依赖片段

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>RELEASE</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.7.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

正确的application.properties配置

spring.datasource.url=jdbc:postgresql://localhost:5432/gamestudio
spring.datasource.username=<你的用户名>
spring.datasource.password=<你的密码>
spring.datasource.hikari.maximumPoolSize=2
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

最后一步:清理并重建项目

做完上面的修改后,执行Maven命令清理缓存并重新构建:

mvn clean install

然后重启你的Spring Boot应用,应该就能正常连接到PostgreSQL数据库了。

备注:内容来源于stack exchange,提问作者Veve K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:45:29