我在类路径的根目录中有application-dev.properties
和application-local.properties
。属性文件内部是我的数据源属性。但即使我们使用
java -Dspring.profiles.active=local -jar myJarApp.jar
由于
答案 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
。我恢复使用不带连字符的配置文件名称,此方法有效。