`
dannyhz
  • 浏览: 368058 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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>




而在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>


引用


现在定义好了  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 是变量可以带入




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

引用

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





所以可以用springboot 那个值为 dev来打包




  • 大小: 85.8 KB
  • 大小: 89.9 KB
  • 大小: 13.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics