yaml spring 和 maven profile的结合

项目做了 yaml + springboot + maven 的组合 , 需要根据不同的环境进行配置,

1.profile 是设在 maven的配置文件里的 , 如果有两个模块 需要各自 配置

<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<activation><activeByDefault>true</activeByDefault></activation>
</profile>
<profile>
<id>test</id>
<properties>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>


[img]http://dl2.iteye.com/upload/attachment/0130/3749/ae5c1774-e7d3-340d-ac17-fee94a2449b4.png[/img]

而在java 打包命令是需要用

mvn clean package spring-boot:repackage -P dev -e

-P dev 表示 带入的参数

而下面的 <profile> <id> 的 dev 和参数 -P dev 如果一致 , 就把 一个变量
<profileActive>dev</profileActive> profileActive 作为一个变量名, 赋值 = dev,


<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
<activation><activeByDefault>true</activeByDefault></activation>
</profile>


[quote]

现在定义好了 profileActive 变量 ,比如 = dev

再 看

<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application-${profileActive}.yml</include>
<include>application.yml</include>
<include>*.xml</include>
</includes>
</resource>


里面的 profileActive 是变量可以带入
[/quote]
[img]http://dl2.iteye.com/upload/attachment/0130/3761/5d5ab2d2-41d8-367c-a7a6-0de189b42abb.png[/img]


这样 再使用 spring boot 的 application文件 , 里面

[quote]
spring:
profiles:
active: ${profileActive} #正在运行的环境
[/quote]


[img]http://dl2.iteye.com/upload/attachment/0130/3763/cbb6fa13-057e-3a76-bece-3bd925387252.png[/img]

所以可以用springboot 那个值为 dev来打包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值