Springboot配置多环境运行和 打包

1. 创建yml配置文件

在resources下创建application.yml,application-dev.yml,application-prd.yml, application-test.yml 配置文件
在这里插入图片描述

2. 修改pom 文件

(1) 添加profiles标签

profiles和build标签同级:

<!-- 构建maven打包环境 -->
    <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>dev</id>
            <properties>
                <!-- 设置后缀名,与上面的 application-${env}.yml使用-->
                <env>dev</env>
            </properties>
            <activation>
                <!--默认为dev环境打包方式-->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 测试环境 -->
            <id>test</id>
            <properties>
                <env>test</env>
            </properties>
        </profile>
        <profile>
            <!-- 生产环境 -->
            <id>prd</id>
            <properties>
                <env>prd</env>
            </properties>
        </profile>
    </profiles>

添加完后,maven窗口出现打包选项
在这里插入图片描述

(2) 在build标签里面添加resources标签

<!--打包生成的文件名-->
        <finalName>ROOT</finalName>
        <resources>
            <!-- 指定配置文件所在的resource目录 -->
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>application.yml</include>
                    <include>application-${env}.yml</include>
                    <!-- 加载html、js、mapper等文件 -->
                    <include>**/*</include>
                </includes>
                <!-- 这里为true时,active: @env@中@占位符才生效,动态加载指定打包类型的配置文件 -->
                <filtering>true</filtering>
            </resource>
        </resources>

(3) 添加maven-resources-plugin插件(重要)

<!-- 使得active: @env@中@占位符-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <!-- 2.7版本在打包时没找到该版本,可去掉-->
                <!--  <version>2.7</version>-->
                <configuration>
                    <delimiters>
                        <delimiter>@</delimiter>
                    </delimiters>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                </configuration>
            </plugin>

添加该插件的目的是使用@占位符,动态根据用户选择的打包类型,选择对应的配置文件,这时上步骤的resources标签里true要为true时才能生效。

3. 配置application.xml 文件(重要)

application.xml文件是springboot默认加载的配置文件,要在里面配置系统要加载哪个打包环境的配置文件。

spring:
  profiles:
    active: @env@   #这里使用@占位符和env标签,动态加载配置文件,否则要手动改写写对应的id名字,如:dev

4. 结构流程图

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值