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

Spring Boot通过YML配置Profile失效及报错解决咨询

解决步骤

1. 修正配置文件名拼写错误

你的主配置文件和dev环境配置文件名存在拼写错误:applicaiton.yml需改为application.yml,applicaiton-dev.yml需改为application-dev.yml。Spring Boot只会自动加载命名规范为application*.yml的配置文件,拼写错误会导致配置完全不被加载,这是Profile失效的核心原因之一。

2. 移除YAML文件中的TAB缩进,统一使用空格

报错信息明确提示:found character '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation),YAML语法严格要求只能用空格缩进,禁止使用TAB。你需要:

  • 打开所有.yml文件,将所有TAB替换为2个或4个空格(保持全局缩进规则统一即可)
  • 逐行检查缩进层级,确保父子节点的结构正确

3. 修复application-dev.yml的配置结构错误

当前application-dev.yml存在缩进逻辑错误,导致配置无法被正确解析:

  • dbcp2下的属性(max-total、initial-size等)未缩进在dbcp2节点下
  • type属性属于spring.datasource的子节点,不应与dbcp2同级

修正后的application-dev.yml如下:

spring: 
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql:///ntspbms616db
    username: root
    password: root
    dbcp2:
      max-total: 100
      initial-size: 10
      max-conn-lifetime-millis: 10000000
    type: org.apache.commons.dbcp2.BasicDataSource

4. 验证修复效果

完成上述修改后重启项目:

  • Spring Boot会优先加载正确命名的application.yml,读取spring.profiles.active=dev配置
  • 自动加载application-dev.yml中的数据库配置
  • 检查控制台是否无YAML解析报错,数据库连接功能是否正常

内容的提问来源于stack exchange,提问作者senthil G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:25:47