java Spring Boot 无法定位PropertySource:找不到标签

jmp7cifd  于 2022-12-02  发布在  Java
关注(0)|答案(7)|浏览(271)

我正在尝试设置Spring Cloud Config Server,但服务配置服务器在端口8888上运行,这是正确的,另一个服务应该在端口18060上运行,但由于我启动时的原因,它为我分配了端口8080,并返回警告“无法定位PropertySource:找不到标签”,我该怎么办?谢谢!!!

iyr7buue

iyr7buue1#

在配置类级别或spring Boot 应用程序的主类添加***@EnableConfigServer***并重新启动服务。它将工作。

ttvkxqim

ttvkxqim2#

在我的例子中,这是因为我必须在config服务器中设置我的github URI的默认分支(为spring.cloud.config.server.git.uri设置的存储库分支),方法是将以下内容设置为application.properties

spring.cloud.config.server.git.default-label=main
mfuanj7w

mfuanj7w3#

我遇到了类似的问题,当我在本地运行我的服务器时,我只在stratup上的日志中看到

o.s.c.c.c.ConfigServicePropertySourceLocator - Could not locate PropertySource: label not found

结果表明,这是配置服务器健康检查的问题,当触发配置服务器健康检查时,使用了空环境,因此应用程序名称为空,因此Spring Cloud客户端将尝试访问{config-server}/application,因为application是默认应用程序名称,有关此问题的更多信息,请参见issue
为了解决这个问题,我刚刚禁用了配置服务器的运行状况检查

health.config.enabled=false
g52tjvyc

g52tjvyc4#

试试这个,我也有同样的问题,解决了。
首先在应用中启用调试模式。(在属性文件中:logging.level.=DEBUG。这只是为了确保问题和我的问题一样,或者你可能有任何线索,它可能会出错。)然后启动应用程序,并查看日志。日志显示配置的服务器URI和什么URL获得所有属性资源。
比较两个URL-日志中的URL和您的配置服务器URI。
问题是错误地定义了属性文件的URL,可能在末尾有空格。(当您从某个地方复制过去时,可能会发生这种情况)示例:
为spring.cloud.config.uri设置< port >值
如果是这种情况,客户端的日志将显示localhost:/20%20%/〈app name〉/< profile >
只需删除后空的空间。然后它应该工作!

aiqt4smr

aiqt4smr5#

在bootstrap.yml文件中添加以下行

spring:
  cloud:
    config:
      enabled: true
      uri: http://localhost:8888 ##this is the link to the server config
      label: main ##this is what you are missing (name of the git repo branch)
  application:
    name: currency-spring-cloud-config-client
  profiles:
    active: testing

server:
  port: 8600
sqxo8psd

sqxo8psd6#

spring:
  cloud:
    config:
      enabled: true
      uri:
        - http://localhost:9196   ### your port for cloud config server
      label: main                 ### your git repo branch name
06odsfpq

06odsfpq7#

在我的例子中,我的服务器正在从github仓库中获取cofnig,我忘记了我把它设为私有:)

相关问题