SpringBoot 多环境设置 active: @profileActive@

举报
仙士可 发表于 2023/06/30 12:25:02 2023/06/30
【摘要】 pom配置增加@解析符<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <delimiters> <delimiter>@</delimiter> ...

pom配置

增加@解析符

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
        <delimiters>
            <delimiter>@</delimiter>
        </delimiters>
        <useDefaultDelimiters>false</useDefaultDelimiters>
    </configuration>
</plugin>
复制

spring 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}</finalName>
            </build>
        </profile>
        <profile>
            <id>pro</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <profileActive>pro</profileActive>
            </properties>
            <build>
                <!-- 产生的构件的文件名,默认值是${artifactId}-${version}-->
                <finalName>${project.artifactId}</finalName>
            </build>
        </profile>
    </profiles>
复制

根据先后顺序优先级配置

resources 配置

<build>
    <!-- profile对资源的操作 -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <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 默认配置文件,需要通过此文件去引用其他配置文件
  • application-dev.yml 开发环境
  • application-pro.yml 生产环境
  • application-test.yml 测试环境

application.yml配置

spring:
    profiles:
        active: '@profileActive@'
复制

然后根据需要,新增application-dev.yml,application-pro.yml即可

在IDEA中,点击刷新即可选择编译环境:

mvn打包命令

打包命令

mvn clean install package -P pro -Dmaven.test.skip=true
mvn clean install package -P dev -Dmaven.test.skip=true
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。