我有一个使用以下命令构建的Spring项目
mvn clean install -Pdevelopment
通过根据maven配置文件选择适当的属性文件来完美地工作
我们当前的应用程序现已更新为包含application.yml文件和属性文件
Yml文件提供了基于弹簧配置文件创建属性的功能
#DEV
spring:
profiles: profile1
environment:
property1: AAA
property2: BBB
---
#PROD
spring:
profiles: profile2
environment:
property1: CCC
property2: DDD
---
这适用于使用-Dspring.profiles.active=profile1
有没有办法读取maven配置文件(而不是弹簧配置文件)并相应地设置属性?
答案 0 :(得分:3)
由于您不再需要使用弹簧配置文件,因此application.yml
中只需要一个键。从你的例子中可以看出它是这样的:
environment:
property1: @property1@
property2: @property2@
然后在pom.xml
或settings.xml
<profiles>
<profile>
<id>dev</id>
<properties>
<property1>AAA</property1>
<property2>BBB</property2>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<property1>CCC</property1>
<property2>DDD</property2>
</properties>
</profile>
</profiles>
在我的应用程序类中使用如下:
@Value("${environment.property1}")
private String profileProperty;
@Value("${environment.property2}")
private String settingsProperty;