首页 > 解决方案 > 从其他属性文件替换 application.properties 的值

问题描述

我的 Spring Boot 应用程序中有以下文件应用程序属性文件。 所有属性文件都在 src/main/resources 文件夹中 Spring boot 版本是 2.1.6

application.properties application-dev.properties application-tst.properties

application.properties app.name={app.name} app.common=Common val
application-dev.properties app.name=我的开发应用
程序 application-tst.properties app.name=我的 tst 应用程序

Dev 和 tst 是我创建的 Maven 配置文件

 <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <env>dev</env>
            </properties>
        </profile>

        <profile>
            <id>tst</id>
            <properties>
                <env>tst</env>
            </properties>
        </profile>
    </profiles>

如果我使用开发配置文件构建项目,我应该在我的 application.properties 中获得以下内容

1)mvn -Pdev 全新安装

application.properties app.name=我的开发应用 app.common=通用值

2)mvn -Ptst 全新安装

application.properties app.name=我的 tst 应用 app.common=通用 val

我怎样才能做到这一点?

标签: javamavenspring-boot

解决方案


您可以像这样使用环境变量来设置活动配置文件

mvn install -Dspring.profiles.active=dev

或者

mvn install -Dspring.profiles.active=tst


推荐阅读