指定配置文件的SpringApplicationBuilder -Dspring.profile.active = local

时间:2017-11-04 18:04:40

标签: spring spring-boot

我有一个需要旋转到应用程序的集成测试。一个在8181和8185两个应用程序需要表现完全相同,但唯一的区别是在不同的端口上侦听。

我为8181服务器和我做的其他服务器提供-Dspring.profile.active = local

applicationContext = new SpringApplicationBuilder(springConfigs)
                        .profiles("abc")
                        .run();

但看起来即使我将abc指定为配置文件,其他服务器也以本地配置文件启动 - 因此端口为8181.

如果我没有指定-Dspring.profile.active = local并使用ActiveProfile,那么一切正常,但由于我无法更改-Dspring.profile.active = local piece,我必须提出备用路由。是否可以强制SpringApplicationBuilder使用我指定的配置文件?

提前致谢

1 个答案:

答案 0 :(得分:0)

根据spring boot属性的优先顺序,here命令行位于顶部。但在此之前是@TestPropertySourceSpringBootTest#properties。后者采用形式为key=value的字符串数组。