spring boot 配置 多环境 报错 active: @profileActive@

SpringBoot配置多环境实践:资源过滤问题与解决方案

spring boot 配置 多环境

 在父的pom文件中引用,过滤。重新的clean一下,然后启动就好了。

后来我又把下边这段 删掉后,启动也不会再报错,可以试试

<build>
  <resources>
            <resource>
                <!-- 指定文件路径 -->
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <!-- **表示任意级目录,*表示任意文件 -->
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>
  </build>

`spring: profiles: active: @profileActive@` 通常用于 Spring 项目的配置文件中,`@profileActive@` 是一个占位符,一般由 Maven 等构建工具在构建过程中进行替换。而 `expected <block end>, but found BlockMappingStart` 错误是 YAML 解析错误,表明 YAML 文件格式有问题。 #### 解决 YAML 格式错误 YAML 是一种对缩进敏感的格式,缩进用于表示数据的层次结构。以下是一些解决 YAML 格式错误的方法: - **检查缩进**:确保配置文件中每个层级的缩进是一致的,通常使用 2 个或 4 个空格进行缩进。例如: ```yaml spring: profiles: active: @profileActive@ ``` - **检查块结束**:确认在出现错误的行之前的块是否已经正确结束。有时候,忘记结束一个块会导致解析器出现混淆。 - **使用 YAML 验证工具**:可以使用在线的 YAML 验证工具(如 [YAML Lint](https://www.yamllint.com/))来检查整个 YAML 文件的格式是否正确。将文件内容复制到验证工具中,它会指出具体的错误和警告。 #### 解决占位符替换问题 如果 `@profileActive@` 占位符没有正确替换,可能是构建工具配置的问题。以 Maven 为例,需要在 `pom.xml` 中配置资源过滤: ```xml <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> ``` 同时,在 `pom.xml` 中定义 `profileActive` 属性: ```xml <properties> <profileActive>dev</profileActive> </properties> ``` ### 示例代码 以下是一个完整的 Spring Boot 项目的 `application.yml` 配置文件示例: ```yaml spring: profiles: active: @profileActive@ # 其他配置 server: port: 8080 ``` ### 相关问题
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值