为什么在设置配置文件时不加载application- <profile> .properties?

时间:2016-01-27 03:02:19

标签: spring-boot

我在类路径的根目录中有application-dev.propertiesapplication-local.properties。属性文件内部是我的数据源属性。但即使我们使用

启动应用程序,它们也不会被加载

java -Dspring.profiles.active=local -jar myJarApp.jar

由于

2 个答案:

答案 0 :(得分:1)

尝试传递参数,如下所示:

$ java -jar xyz.jar --spring.profiles.active="dev"

而不是使用-D标志。

或者,您可以在控制台/提示符中设置以下环境变量,然后运行java -jar xyz.jar而不传递任何参数

export SPRING_PROFILES_ACTIVE=dev

这应该有效。

参考:

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

答案 1 :(得分:0)

当心个人资料名称中的连字符。

在我的情况下,Spring Boot 2.3.2在运行时会选择配置文件local-docker

java -jar -Dspring.profiles.active=docker target/main-0.0.1-SNAPSHOT.jar

但是由于某种原因,它不会选择关联的属性文件application-local-docker.properties。我恢复使用不带连字符的配置文件名称,此方法有效。