咳咳,最近这几个大坑,可让我在源码走流程走了好几天呀,大家都知道直接丢到Tomcat环境下跑,你得带上项目名,不然访问不了!直蹦主题!
1.Eureka里配置文件的注册地址需要配置成:
defaultZone:http://127.0.0.1:8080/你的项目名称/eureka/
如果不把项目名称配置上去,注册默认会用http://127.0.0.1:8080/eureka/这个地址注册,Tomcat里面你不改下配置或者不丢到ROOT目录下,就等着注册失败吧!
2.Config这个更坑,配置完Eureka,正常情况我们是这样!
eureka:
instance:
hostname: 118.190.60.52
prefer-ip-address: true
ip-address: ${eureka.instance.hostname}
instanceId: ${eureka.instance.hostname}:${spring.application.name}:${server.port}
正常情况下,我们的Metatata里面只有一个managment.prot:8080,并没有我箭头所指向的configPath,然后就不会进判断,默认用http://ip地址:端口号/去获取配置文件了紧接着就会出现找不到配置文件的问题!
org.springframework.cloud.config.client.ConfigServicePropertySourceLocator - Could not locate PropertySource: None of labels [master] found
我们的Config服务器在Tomcat下面呀,必须得带上项目名,看这里
eureka:
instance:
hostname: 127.0.0.1
prefer-ip-address: true
ip-address: ${eureka.instance.hostname}
instanceId: ${eureka.instance.hostname}:${spring.application.name}:${server.port}
#指定注册地址
homePageUrl: http://${eureka.instance.hostname}:${server.port}/${spring.application.name}/
metadata-map:
configPath: ${spring.application.name}
在metadata-map里面手动加上configPath为你的项目名,这样就能进判断了,最终拼接出来的链接会带上项目名称!
最终成功获取配置: