码迷,mamicode.com
首页 > 其他好文 > 详细

使用Profiles标签实现多环境切换

时间:2020-05-16 23:34:07      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:不同   加载   details   net   结构   字段   resource   size   version   

在正常的开发使用中,在不同的情况下使用的环境肯定是不相同的,所以需要使用到多环境切换,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标签实现多环境切换

标签:不同   加载   details   net   结构   字段   resource   size   version   

原文地址:https://www.cnblogs.com/zhouyon/p/12902761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!