bootstrap.yml文件中@profile@无法被pom.xml中的profile配置替换问题处理
一、背景
希望能够实现根据不同的环境动态读取对应的配置。
二、准备
- bootstrap.yml文件内容
spring: application: name: ldap-agent-web profiles: active: @profile@
不同环境的配置:application-dev.yml、application-prod.yml
- pom.xml文件中profile配置
<profiles> <profile> <id>local</id> <properties> <profile>local</profile> </properties> </profile> <profile> <id>dev</id> <properties> <profile>dev</profile> </properties> </profile> <profile> <id>prod</id> <properties> <profile>prod</profile> </properties> </profile> </profiles>
三、问题处理
- 执行mvn clean install 命令,检查对应项目中target/class中的bootstrap.yml文件中profile是否正确。
- 查看pom.xml文件中的打包配置,<resource>中是否加了<filtering>true<filtering>,即
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/**</include> </includes> </resource> </resources> </build>
【参考文档】