远程连接仓库中的Eureka配置文件,老是报错,报错信息非常多。
- 比较宽泛的报错信息如下:
事实上,这类宽泛的报错信息并没有什么指导价值,因为不具体,无法定位到直接导致错误的原。
Caused by: java.net.ConnectException: Connection refused: connect
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
网上的一些解决方案是:default-zone属性改成驼峰命名法defaultZone,但是我配置文件本来就是写的defaultZone了。
- 比较细节的报错信息如下:
这些报错信息显示实际上配置文件并没有读取到,因为读取到端口号应当是7001,而非默认的8080.
Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://localhost:8761/eureka/}
- 再进一步看:
但是,Springcloud Config服务器端却是可以连接到远程Git仓库中的Eureka配置文件的,说明问题仅仅出在Springcloud Config客户端
- 问题发现:
仔细检查后发现:Springcloud Config客户端的系统配置文件中部分属性无法识别,这才发现:Springcloud Config依赖没导进来
依赖导入后,问题就解决了。(网上也没有人是因为没导入依赖而报错的,所以还是自己太菜了)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
- 最后一个细节的bug:如果用localhost或者127.0.0.1能够访问,但是用eureka7001.com不能访问,那么请一定检查一下你的localhost和eureka7001.com是否建立了映射。(我这个报错就是因为localhost和eureka7001.com之间的域名映射不知道什么时候被注释掉了,把注释取消掉就可以了)