使用特定的application.properties

时间:2016-03-02 20:24:33

标签: java spring maven spring-boot

我有一个Spring Boot应用程序,有三个application.properties个文件:

  1. application.properties
  2. application-qa.properties
  3. application-prod.properties
  4. 我希望使用maven通过使用其中一个属性构建一个战争,具体取决于要部署的应用程序的环境,即devqaprod

    我该怎么做?我是Spring Boot的新手。

2 个答案:

答案 0 :(得分:2)

设置SPRING_PROFILES_ACTIVE环境变量将激活预期的配置文件。例如,要激活qa配置文件,请将SPRING_PROFILES_ACTIVE环境变量设置为qa。阅读Spring Boot Documentation中有关配置文件特定属性here的更多信息。

答案 1 :(得分:1)

1。 Aproach

在Linux环境中

export SPRING_PROFILES_ACTIVE=qa 

您可以使用以下命令检查它是否在操作系统上设置:

$ env

之后你可以运行:

./gradlew bootRun

所以你可以在启动时看到这一行:

2018-05-17 17:33:21.722  INFO 8245 --- [main] 
b.j.t.d.InteropDocumentosApplication     : The following profiles are active: qa

2。 Aproach

通过gradle build:

application.properties

spring.profiles.active=@activeProfile@

build.gradle

import org.apache.tools.ant.filters.ReplaceTokens

processResources {
     filter ReplaceTokens, tokens: [ 
             activeProfile: project.property('activeProfile')
     ]
}

您可以使用名为activeProfile的属性。因此,在运行构建时必须提供 qa 值:

./gradlew build -PactiveProfile=qa