繁体   English   中英

Spring Boot + Gradle属性文件

[英]Spring boot + Gradle properties file

我在src/main/resources application-dev.propertiesapplication-prod.properties有两个属性文件。

当我使用java -jar -Dspring.profiles.active=dev运行我的应用程序时,它将选择正确的属性文件,并且我的应用程序正在运行。

但是,当我使用gradle -Dspring.profiles.active=dev test ,未从指定的配置文件设置属性。

我还创建了一个包含spring.profiles.active=devapplication.properties文件。 当我使用java -jar test.jar编译和运行时,它可以按预期工作,但是当我使用gradle test这些属性将被忽略。

涉及两个JVM,一个运行Gradle,一个运行测试。 当您运行gradle -Dspring.profiles.active=dev test您是在运行Gradle的JVM上设置属性,而不是在运行测试的JVM上设置属性。 Gradle不会自动将系统属性从其JVM复制到它产生的JVM。 这托皮在摇篮论坛C将解释如何设置的JVM性能运行测试,但总之你需要像这样在你的build.gradle:

tasks.withType(Test) {
  systemProperty 'spring.profiles.active', 'dev test'
}

如果您将活动配置文件设置为系统属性,则可以使用以下命令:

tasks.withType(Test) {
  systemProperty 'spring.profiles.active', System.getProperty('spring.profiles.active')
}

复制所有系统属性:

tasks.withType(Test) {
  systemProperties = System.getProperties()
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM