在Maven Pom中指定备用Spring application.properties

Fre*_*k L 5 spring maven

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

jfc*_*edo 5

如果您使用Spring启动,则可以通过简单的方法执行此操作.

  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>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在application.properties中,添加以下属性:

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

  1. 使用此模式应用程序配置文件 .properties 为每个配置文件创建application.property .例如:

application-dev.properties
application-prod.properties

  1. 一定要在资源插件中激活过滤:

      ...
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
     ...
Run Code Online (Sandbox Code Playgroud)

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

   <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>
Run Code Online (Sandbox Code Playgroud)

  • 不错的工作。请注意,在较新版本的spring-boot中,您需要以以下格式在application.properties文件中声明活动配置文件:`spring.profiles.active = @ spring.profiles.active @` (2认同)