在用Spring cloud ribbon的过程中,启动服务时,IDEA报错"ServerPropertiesAutoConfiguration.class] cannot be opened because it does not exist"
原因如下:
ribbon依赖包版本问题
spring-cloud-starter-ribbon
已被弃用,官方推荐用spring-cloud-starter-netflix-ribbon
。
替换后,服务启动正常。
注意:
虽然使用spring-cloud-starter-netflix-ribbon
,服务启动正常。但是当有请求到达时,依然可能会报错"no instances available…"。
最佳实践:
ribbon整合eureka时,
- eureka服务端官方推荐用依赖包:
spring-cloud-starter-netflix-eureka-server
,取代已经过时的spring-cloud-starter-eureka-server
。 - eureka客户端官方推荐使用依赖包:
spring-cloud-starter-netflix-eureka-client
,已经内置ribbon支持。取代已经过时的spring-cloud-starter-eureka
。并且无需再导入ribbon依赖包。
这样从源头解了:“ServerPropertiesAutoConfiguration.class] cannot be opened because it does not exist” 和 "no instances available…"两个报错。