java -jar my.jar --spring.config.additional-location='file:../some-config.yml
some-config.yml
不是从父目录(或绝对路径,例如/path/to/some-config.yml
(- 如果我
some-config.yml
移动到工作目录,它仍然无法正确加载。 - 如果我
some-config.yml
移动到工作目录,并将其重命名为application.yml
,Spring 将加载它——但这是默认行为,不是我需要的。
- 如果我
如何让 Spring 从我指定的确切路径加载我的配置文件。
临时解决方法
我在工作目录中创建了一个符号链接,该链接指向../application-xyz.yml
并在内置application.yml
中设置spring.profiles.include: xyz
。现在这就足够了,并且通常会清理问题,但奇怪的是我无法通过spring.config.additional-location
指向特定文件。
我相信你可以使用spring.config.additional-location来指定配置位置(即文件夹,目录(。为其提供特定文件不是受支持的行为。
检查文档:
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
此外,如果要使用非标准文件名,则必须使用 spring.config.name 属性。