我制作了一些简单的Spring Boot应用程序并将其打包为JAR。 当我打电话
java -jar target/boot-active-include-0.0.1-SNAPSHOT.jar
我得到了
未设置有效的配置文件,回退到默认配置文件:默认
当我打电话
echo spring.profiles.include=B > application.properties
java -jar target/boot-active-include-0.0.1-SNAPSHOT.jar
我得到了
以下个人资料有效:B
当我打电话
rm application.properties
java -Dspring.profiles.include=B -jar target/boot-active-include-0.0.1-SNAPSHOT.jar
我得到了
未设置有效的配置文件,回退到默认配置文件:默认
但我希望以下个人资料有效:B
我可以从命令行添加Spring配置文件吗?
版本:1.5.1.RELEASE
PS。 spring.profiles.active
按预期工作。但我不想替换活动配置文件。
答案 0 :(得分:0)
我看到现在发生了什么,我认为这可能是我在制作this change时遗漏的东西。
在更改之前,spring.profiles.include
仅在配置文件中使用时才被考虑。在此更改之后,只要spring.profiles.include
也已设置,spring.profiles.active
现在可以从任何来源(系统属性,命令行参数等)进行考虑。
您可以通过运行两个属性集的样本来看到这一点:
java -Dspring.profiles.include=alpha -Dspring.profiles.active=bravo -jar target/boot-active-include-0.0.1-SNAPSHOT.jar
alpha
和bravo
个人资料均处于有效状态:
2017-02-09 11:30:49.467 INFO 40409 --- [ main] my.Example : The following profiles are active: alpha,bravo
我已经打开an issue,以便我们能够理顺这一点。