Spring 云原生配置服务器未选取 yml 文件

Spring Cloud Native Config Server not picking yml files

我的 Spring 云配置服务器未从 class 路径

中选取 yml 文件
    spring:
  profiles:
    active: native
  cloud:
    config:
      server:
       native:
            search-locations: file:///C:/Users/Arun/git/MicroService_sample/config-server/src/main/resources/application-local.yml

低于结果,即使我使用 search-locations: classpath:/configserver-local.yml

结果仍然相同

结果

  {"name":"configserver","profiles":["local"],"label":null,"version":"d1da013b1365b9001a5609e12c8590c875d782f4","state":null,"propertySources":[]}

端点:http://localhost:8080/configserver/local

而且我在应用程序启动时没有找到任何用于选择 yml 文件的日志

尝试修改您的搜索位置地址

我试过像下面这样用.yml把文件放在D盘里

spring:
  profiles:
    active: native
  cloud:
    config:
      server:
       native:
            search-locations: D:/

和 D:\configserver-local.yml 中的文件内容

test: 1233333

当我访问 http://localhost:8080/configserver/local

时,结果是预期的
{"name":"configserver","profiles":["local"],"label":null,"version":null,"state":null,"propertySources":[{"name":"file:D:/configserver-local.yml","source":{"test":1233333}}]}

在 Windows 上用绝对路径在本机模式下设置此搜索位置时遇到了很多麻烦。

最后,经过大量研究和尝试,我选择将配置文件直接集成到 config-server 类路径中,在 src/main/resources 文件夹中的 "config" 文件夹中。

由于 "native" 模式可能只用于开发和测试环境(对于生产,我将使用正常模式,读取 Git 存储库而不是本地硬盘),它对我来说还好。

您已经按照文档中的内容进行操作(您在 "file" 之后需要 3 /,因为您在 Windows 上)。 对我有用的唯一选择是使用 user.home 目录,但我不想要这个目录,所以我将属性文件放在 src/main/resources/config 文件夹中。

user.home 目录的语法:

spring.cloud.config.server.native.searchLocations=file:///${user.home}/Downloads/config-folder