超详细,动态发版,针对不同环境发不同版本

我们在日常开发中必然会用到各种不同的环境,例如开发环境,测试环境,生产环境等。调试过程中必然会使用到不同环境配置文件不同的情况,那么每次发版都要修改配置文件的话时间成本会大大增加,为减少发版时候的忧虑,现将不同环境发版的配置方式进行分享,希望能帮到有需要的人。

话不多说,直接上代码

  1. 最外层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>
  1. 新建配置文件夹,写不同的配置文件。文件夹名称可随意写,位置可以随意放,后续步骤会指定位置

db.url=jdbc:oracle:thin:@ip:port/servicename
db.user=zhangsan
db.pwd=123456
  1. 给真正的配置文件中用占位符动态赋值

spring:
  datasource:
    url: ${db.url}
    username: ${db.use}
    password: ${db.pwd}
  1. 在真正的配置文件所在模块的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>
  1. 配置完成,打版如下

IDEA中,右侧maven栏点击后会出现如图所示内容,选择所需要的环境进行clean后install,即可打出所需配置的版本,也可在控制台输入,mvn clean install -P dev

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值