首页 > 其他分享 >springboot + maven多环境配置

springboot + maven多环境配置

时间:2023-02-07 00:22:05浏览次数:40  
标签:springboot 编译 配置 dev maven application prod yml stage

1. 多环境配置文件

针对开发、测试、生产三个环境使用不同的开发配置

application.yml

server:
  port: 6666

spring:
  profiles:
    ## 获取pom文件中被激活的profile属性
    active: "@profiles.active@"
    group:
      ## 上面active的属性为dev时,application-dev.yml、application-app-dev.yml、
      ## application-db-dev.yml都会被应用
      "dev": "dev, app-dev, db-dev"
      "stage": "stage, app-stage, db-stage"
      "prod": "prod, app-prod, db-prod"

后面三个不同环境的配置文件分别设置端口为1111、2222、3333

2. pom文件

    <!-- 添加到根project标签的下一级 -->
    <profiles>
        <!-- 本地开发环境(默认) -->
        <profile>
            <id>dev</id>
            <properties>
                <!-- 自由命名,这个值会在application.yml的"@profiles.active@"取到 -->
                <profiles.active>dev</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!-- 测试环境 -->
        <profile>
            <id>stage</id>
            <properties>
                <profiles.active>stage</profiles.active>
            </properties>
        </profile>
        <!-- 生产环境 -->
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
    </profiles>

3. 编译

右侧maven里选择编译的环境,进行编译

编译后的文件在项目根目录下target/classes目录下

留坑

  • 删掉target文件夹,直接运行项目,会看到application.yml没有被正确编译。
  • 编译后希望只保留需要的配置文件,也没有被正确编译
            <!-- build标签下添加 -->
            <resources>
              <!-- 排除 -->
              <resource>
                  <directory>src/main/resources/</directory>
                  <excludes>
                      <exclude>**/*.yml</exclude>
                      <exclude>**/*.properties</exclude>
                  </excludes>
              </resource>
              <!-- 加入 -->
              <resource>
                  <directory>src/main/resources/</directory>
                  <includes>
                      <include>application-${profiles.active}.yml</include>
                      <include>application.yml</include>
                  </includes>
              </resource>
          </resources>
    

参考
https://www.runoob.com/maven/maven-build-profiles.html

标签:springboot,编译,配置,dev,maven,application,prod,yml,stage
From: https://www.cnblogs.com/moyu1011/p/17097055.html

相关文章