区分测试、生产环境,不同的环境变量
一、pom.xml配置:
定义变量值:spring.profiles.active,指定dev,qa和prod
<profiles>
<profile>
<id>dev</id>
<properties>
<spring.profiles.active>dev</spring.profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>qa</id>
<properties>
<spring.profiles.active>qa</spring.profiles.active>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<spring.profiles.active>prod</spring.profiles.active>
</properties>
</profile>
</profiles>
参数说明
如果未指定环境,则默认为此配置对应的环境
<activation>
<activeByDefault>true</activeByDefault>
</activation>
二、application.yml
定义环境变量
spring:
profiles:
active: @spring.profiles.active@
application-xxx.yml
创建各个测试环境配置
application-dev.yml
application-qa.yml
application-prod.yml
三、打包
命令打包
mvn clean package -P dev
mvn clean package -P qa
mvn clean package -P prod
工具打包:选择qa环境进行打包
打完包以后,可以看下包中的application.yml的配置
根据选择不同的环境,应该为对应的环境配置
如果在实际操作中,不能正常替换,则增加如下
// 在resource目录文件中有这些文件,而且也能生成到target中
<resources>
<resource>
<directory>src/main/resources</directory>
<!--用于替换resources里的变量-->
<filtering>true</filtering>
</resource>
</resources>
<finalName>${project.artifactId}</finalName>