Spring Cloud Config文件系统搜索位置 - 具有应用程序名称特定文件夹

时间:2018-02-10 15:55:34

标签: spring spring-boot spring-cloud-config

我有大约10个应用程序,我将所有属性文件存储在文件系统的一个位置。例如,假设我的所有属性文件都在C:/ Config中。 现在我想做的是有一个名为文件夹结构的应用程序。所以假设我有3个名为A,B和C的应用程序。然后是一个像 -

这样的文件夹结构
               C:
                -Config
                  -A
                   -env1(profile)
                     -A-env1.yaml
                   -env2
                     -A-env2.yml
                  -B
                   -env1
                      -B-env1.yml
                   -env2
                      -B-env2.yml
                  -C
                    -env1
                      -C-env1.yml
                    -env2
                      -C-env2.yml

这有可能实现吗?我已经阅读了文档并尝试了一些操作,例如在搜索位置中添加以下内容 -

             file:///C:/Config/${application}/${profile}
             file://C:/Config/${label} (label tag which is there by default)

但这不起作用。

非常感谢任何帮助。

提前谢谢。

1 个答案:

答案 0 :(得分:-1)

您可以从任意文件系统位置加载应用程序属性。

默认情况下,Spring会读取以下目录(取自docs):

1)当前目录的A / config子目录

2)当前目录

3)classpath / config包

4)类路径根

您还可以使用spring.config.location环境属性(以逗号分隔的目录位置列表或文件路径)来引用显式位置。

示例:

java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties