通过命令行覆盖spring application.properties

时间:2018-06-20 02:59:56

标签: spring-boot gradlew spring-boot-test

我试图在运行gradlew my.url=test.com时从命令行更改application.properties中的gradlew test -Drun.arguments="--my.url=myurl.com"'。有人可以告诉我我在做什么错吗?预先感谢您的协助!

2 个答案:

答案 0 :(得分:0)

尝试为测试指定另一个属性文件,仅覆盖所需的变量,即 application-test.properties

有了这个 test 属性文件,就有可能以几种不同的方式为执行提供正确的配置文件,例如简单的参数 -Dspring.profiles.active = test < / em>或操作系统变量 SPRING_PROFILES_ACTIVE ,则Spring将根据指定的配置文件获取特定应用程序属性。

看看有关here的原始文档。

答案 1 :(得分:0)

使用@TestPropertySource批注可能对您更好:

@TestPropertySource(properties = "my.url=myurl.com")

此外,如果您要运行具有不同属性的N个测试-最好有多个配置文件来测试不同的环境