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

Spring Tool Suite中Spring Boot测试加载数据源URL失败问题

问题:STS内运行Spring Boot测试报数据源配置错误,Maven命令行测试正常

在Spring Tool Suite 4.17.2(Windows 10环境,全新安装)中运行Spring Initializr生成的Spring Boot项目(版本2.7.10-SNAPSHOT,JDK 11,Maven 3.6.3)的默认ApplicationTest JUnit测试时,出现以下错误:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

但通过命令行执行mvn clean test时,测试却能成功通过。项目的application.properties配置如下:

spring.datasource.username=postgres
spring.datasource.password=password
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres

可能的解决方案

  • 检查STS的Maven配置是否使用本地Maven
    STS默认可能自带内嵌Maven,导致和你本地使用的Maven 3.6.3环境不一致。操作步骤:

    1. 打开STS,依次点击Window > Preferences > Maven > Installations
    2. 点击Add,选择你本地Maven 3.6.3的安装目录,勾选该选项作为默认Maven
    3. 点击Apply and Close,然后右键项目选择Maven > Update Project,勾选Force Update of Snapshots/Releases后更新
  • 确认测试类的配置加载路径
    检查测试类上的@SpringBootTest注解是否带有额外的properties或classes参数,避免这些参数覆盖了默认的application.properties配置。

  • 清理STS的缓存和构建目录
    STS的缓存可能导致配置未刷新:

    1. 右键项目选择Run As > Maven Clean
    2. 接着执行Run As > Maven Install
    3. 点击STS菜单栏Project > Clean,选择当前项目进行清理
    4. 重启STS后再次尝试运行测试
  • 检查数据源依赖是否正确引入
    确认pom.xml中已正确引入PostgreSQL驱动依赖:

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>
    

    若依赖缺失,STS可能无法识别数据源配置,而Maven命令行在构建时可能自动处理了依赖问题。

内容的提问来源于stack exchange,提问作者Timothy Vogel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:45:04