使用Profiles标签实现多环境切换
Posted zhouyon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Profiles标签实现多环境切换相关的知识,希望对你有一定的参考价值。
在正常的开发使用中,在不同的情况下使用的环境肯定是不相同的,所以需要使用到多环境切换,Maven的profiles标签就可以实现这一功能
一.项目结构
springboot启动时是如何加载配置文件application.yml文件
https://blog.csdn.net/chengkui1990/article/details/79866499
二.在pom.xml定义环境的profile
<!-- Maven控制Spring Profile --> <profiles> <!--默认开启dev--> <profile> <id>dev</id> <activation> <!--这个字段表示默认激活--> <activeByDefault>true</activeByDefault> </activation> <properties> <profileActive>dev</profileActive> </properties> <build> <!-- 产生的构件的文件名,默认值是${artifactId}-${version}--> <finalName>${project.artifactId}-${project.version}</finalName> </build> </profile> <!--测试配置--> <profile> <id>test</id> <properties> <profileActive>test</profileActive> </properties> <build> <!-- 产生的构件的文件名--> <finalName>${project.artifactId}-${project.version}</finalName> </build> </profile> <!--生产配置--> <profile> <id>prod</id> <properties> <profileActive>prod</profileActive> </properties> <build> <!-- 产生的构件的文件名--> <finalName>${project.artifactId}</finalName> </build> </profile> </profiles> <build> <!-- profile对资源的操作 --> <resources> <resource> <directory>src/main/resources</directory> <!--打包时先排除掉所有yml--> <excludes> <exclude>application*.yml</exclude> </excludes> </resource> <resource> <!--这里是关键! 根据不同的环境,把对应文件夹里的配置文件打包--> <directory>src/main/resources</directory> <!-- 是否替换@xx@表示的maven properties属性值 --> <filtering>true</filtering> <!--如果有其他定义通用文件,需要包含进来--> <includes> <include>application.yml</include> <include>application-${profileActive}.yml</include> </includes> </resource> </resources> </build>
三.将application.yml的active参数
# SPRING PROFILES
spring:
profiles:
active: ‘@profileActive@‘
以上是关于使用Profiles标签实现多环境切换的主要内容,如果未能解决你的问题,请参考以下文章