我们在日常开发中必然会用到各种不同的环境,例如开发环境,测试环境,生产环境等。调试过程中必然会使用到不同环境配置文件不同的情况,那么每次发版都要修改配置文件的话时间成本会大大增加,为减少发版时候的忧虑,现将不同环境发版的配置方式进行分享,希望能帮到有需要的人。
话不多说,直接上代码
最外层pom添加各环境
properties标签中添加<env>标签,标签中内容和profiles下的properties中的<activatedEnv>相同,表示生效的环境是哪个。默认环境可以根据个人需要,若不指定的情况下使用默认环境。
注意:profiles标签和properties标签平级,代码如下
<properties>
<env>${activatedEnv}</env>
</properties>
<profiles>
<!--这是开发环境-->
<profile>
<id>dev</id>
<properties>
<activatedEnv>dev</activatedEnv>
</properties>
<activation><!--默认环境-->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--这是测试环境-->
<profile>
<id>test</id>
<properties>
<activatedEnv>test</activatedEnv>
</properties>
</profile>
</profiles>
新建配置文件夹,写不同的配置文件。文件夹名称可随意写,位置可以随意放,后续步骤会指定位置
db.url=jdbc:oracle:thin:@ip:port/servicename
db.user=zhangsan
db.pwd=123456
给真正的配置文件中用占位符动态赋值
spring:
datasource:
url: ${db.url}
username: ${db.use}
password: ${db.pwd}
在真正的配置文件所在模块的pom下引入配置文件所在的目录,resource中为真正配置文件的所在的位置,若有多个模块需要参数化配置,则给多个模块下都引入。
<build>
<filters>
<filter>../config/activatedEnv/spring-${activatedEnv}.properties</filter>
</filters>
<resources>
<resource>
<filtering>true</filtering>
<directory>./src/main/resources</directory>
<includes>
<include>**/**.*</include>
</includes>
</resource>
</resources>
</build>
配置完成,打版如下
IDEA中,右侧maven栏点击后会出现如图所示内容,选择所需要的环境进行clean后install,即可打出所需配置的版本,也可在控制台输入,mvn clean install -P dev