这几天使用Finchley版本开发搭建集群的时候遇到一个问题,使用服务名去访问一个服务,却总是报java.net.UnknownHostException的错误,于是上网查阅了很多资料,网上有很多说要在RestTemplate上创建Bean的时候加上注解LoadBalanced就可以解决,然而却不可以。最后经过三天时间的研究,终于找到了问题所在,原来LoadBalanced这个注解导入错了pom依赖,这也许就是springcloud版本的坑了,之前引入的pom依赖如下 :

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-netflix-eureka-client</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-commons</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>

然而,如果我们使用Finchley版本开发,我们不能使用如上所示的那些依赖,我们把他删除掉,改成引入以下依赖即可:

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
        </dependency>
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

 

真可谓是一大巨坑,真是坑苦我了,这里分享下。

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐