我有一个Spring Boot应用程序,有三个application.properties
个文件:
我希望使用maven通过使用其中一个属性构建一个战争,具体取决于要部署的应用程序的环境,即dev
,qa
或prod
。
我该怎么做?我是Spring Boot的新手。
答案 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