Spring cloud Spring Cloud LoadBalancerClient-Hoxton SR8-抛出错误

Spring cloud Spring Cloud LoadBalancerClient-Hoxton SR8-抛出错误,spring-cloud,spring-cloud-loadbalancer,Spring Cloud,Spring Cloud Loadbalancer,以前我们使用的是SpringCloudFinchley.M9版本。我们使用LoadBalancerClient,如下所示 '''import java.net.URI; import java.util.Objects; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springf

以前我们使用的是SpringCloudFinchley.M9版本。我们使用LoadBalancerClient,如下所示

'''import java.net.URI;
import java.util.Objects;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.stereotype.Component;

@Component
public class UriResolver {

    private static final Logger LOGGER = LoggerFactory.getLogger(UriResolver.class);

    private LoadBalancerClient loadBalancerClient;

    @Autowired
    public UriResolver(LoadBalancerClient loadBalancerClient) {
        this.loadBalancerClient = loadBalancerClient;
    }

    public URI getBaseUri(String vendorName) {
        ServiceInstance instance = loadBalancerClient.choose(vendorName);
        URI uri = null;
        if (!Objects.isNull(instance)) {
            uri = instance.getUri();
            LOGGER.debug("LoadBalancer Instance specific URI: " + instance.getUri());
            LOGGER.debug("LoadBalancer Instance specific ServiceId: " + instance.getServiceId());
            LOGGER.debug("LoadBalancer Instance specific Host: " + instance.getHost());
        }
        return uri;
    }

}'''
现在我们已经将spring云版本升级到Hoxton.SR8。启动spring boot应用程序时出现以下错误


“RibbonAutoConfiguration”中的Bean方法“loadBalancerClient”未加载,因为AllNestedConditions 2与2不匹配;RibbonAutoConfiguration.RibbonClassesConditions.RibbonPresent@ConditionalOnClass上的NestedCondition未找到所需的类“com.netflix.ribbon.ribbon”;RibbonAutoConfiguration.RibbonClassesConditions.AsyncRestTemplatePresent@ConditionalOnClass上的NestedCondition找到了必需的类“org.springframework.web.client.AsyncRestTemplate”;RibbonAutoConfiguration.RibbonClassesConditions.RestTemplatePresent@ConditionalOnClass上的NestedCondition找到了必需的类“org.springframework.web.client.RestTemplate”;RibbonAutoConfiguration.RibbonClassesConditions.IClientPresent@ConditionalOnClass上的NestedCondition未找到所需的类“com.netflix.client.IClient”

是否添加了功能区启动程序?我没有功能区启动程序。当我使用Finchley.M9时,我也没有ribbon启动器。当我升级到Hoxton.SR8时,是否必须添加ribbon starter?在添加spring cloud starter ribbon之后,它就起作用了。谢谢,斯宾塞·吉布