springcloud不同版本升级带来的组件依赖atrifactId的变更

转载自:https://zhuanlan.zhihu.com/p/111927645

 

SpringBoot版本不兼容

java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V

给出大家一个spring boot版本和spring cloud版本的匹配关系:

Spring Cloud Spring Boot

Hoxton 兼容Spring Boot 2.2.x, 不兼容Spring Boot 2.1.x

Greenwich 兼容Spring Boot 2.1.x, 不兼容Spring Boot 2.0.x

Finchley 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x

Edgware 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x

Dalston 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x

Camden 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x

Brixton 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x

Angel 兼容Spring Boot 1.2.x

dependencies与dependencyManagement:

1、使用dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项

2、dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的版本。

注意:

1、需要maven2.9以上版本。

2、将dependency分类,每一类建立单独的pom文件

3、在需要使用到这些依赖的子model中,使用dependencyManagement管理依赖,并import scope依赖

3、scope=import只能用在dependencyManagement里面,且仅用于type=pom的dependency

Spring Cloud Finchley.SR1|Greenwich.SR1

1、Eureka Server 依赖更新:

升级前:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka-server</artifactId>

</dependency>

升级后:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>

</dependency>

2、Eureka Client 依赖更新:

升级前:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka</artifactId>

</dependency>

升级后:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

</dependency>

http://turbine-hostname:port/turbine.stream[?cluster=clusterName]

3、Ribbon 依赖更新

升级前:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-ribbon</artifactId>

</dependency>

升级后:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>

</dependency>

4、hystrix和hystrix-dashboard 依赖更新:

升级前:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-hystrix</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>

</dependency>

升级后:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>

</dependency>

turbine:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-turbine</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-turbine</artifactId>

</dependency>

使用 springboot2.x 和 spring cloud Finchley 及以上版本搭建:

1、必须使用 项目名/actuator/hystrix.stream 而不是 /hystrix.stream 为插入点

2、启动类注解

@EnableHystrix

@EnableCircuitBreaker

@EnableHystrixDashboard

feign:

hystrix:

enabled: true

yml:

management:

endpoints:

web:

exposure:

include: "*"

#include: hystrix.stream

endpoint:

health:

show-details: ALWAYS

5、Feign 依赖更新:(不是加netflix)

升级前:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-feign</artifactId>

</dependency>

升级后:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-openfeign</artifactId>

</dependency>

注解包路径改了:

org.springframework.cloud.openfeign.EnableFeignClients

6、zuul 依赖更新

升级前:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-zuul</artifactId>

</dependency>

升级后:

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-zuul</artifactId>

</dependency>

Spring Cloud 获取服务客户端 IP 地址配置变更了

升级前:

${spring.cloud.client.ipAddress}

升级后:

${spring.cloud.client.ip-address}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值