gpt4 book ai didi

spring - 在 Maven Pom 中指定替代 Spring application.properties

转载 作者:行者123 更新时间:2023-12-02 05:26:30 25 4
gpt4 key购买 nike

我如何在 Maven pom 文件中指定替代的 application.properties?我有 2 个不同的 Maven 配置文件,并且希望根据配置文件使用不同的属性文件。

最佳答案

如果您使用 Spring boot,有一个简单的方法可以做到这一点。

  1. 在 maven 中创建两个配置文件,并在每个配置文件中设置一个属性,其中包含要执行的 Spring 配置文件的名称。

    <profile>
    <id>dev</id>
    <activation>
    <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
    <!-- Default spring profile to use -->
    <spring.profiles.active>dev</spring.profiles.active>
    <!-- Default environment -->
    <environment>develop</environment>
    </properties>
    </profile>
  2. 在 application.properties 中添加以下属性:

spring.profiles.active=${spring.profiles.active}

  • 使用此模式 application-profile.properties 为每个配置文件创建一个 application.property。例如:
  • application-dev.properties
    应用程序产品属性

  • 请务必在资源插件中启用过滤:

  • ...
    <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    </resource>
    ...

    另一种方法是在maven执行期间创建一个名为activeprofile.properties的文件。 Spring Boot 会查找此文件来加载事件配置文件。您可以按如下方式创建此文件:

       <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
    <execution>
    <phase>prepare-package</phase>
    <configuration>
    <target>
    <echo message="spring.profiles.active=${spring.profiles.active}" file="target/classes/config/activeprofile.properties" />
    </target>
    </configuration>
    <goals>
    <goal>run</goal>
    </goals>
    </execution>
    </executions>
    <configuration>
    </configuration>
    </plugin>

    关于spring - 在 Maven Pom 中指定替代 Spring application.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29021603/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com