欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring boot 下多环境配置占位符无法使用

程序员文章站 2022-05-08 10:59:45
...

pom的配置如下(profiles部分)

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <activatedProperties>dev</activatedProperties>
            </properties>
        </profile>
        <profile>
            <id>local</id>
            <properties>
                <activatedProperties>local</activatedProperties>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>production</id>
            <properties>
                <activatedProperties>production</activatedProperties>
            </properties>
        </profile>
    </profiles>

yml的引入部分

spring:
  profiles:
    active: ${activatedProperties}

注意:这个部分你会发现打包之后不会自动引入

原因如下

maven 继承了 spring-boot-starter-parent,并且 spring 的占位符也是 ${key}, 导致 mavenfilter 的占位符被 spring 的 maven pom 替换掉了,变成了 @[email protected],我们可以通过resource.delimiter来覆盖它。(我没成功)

所以

spring:
  profiles:
    active: @[email protected]

这样就行了

 

相关标签: profiles