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

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

 

SpringBoot版本不兼容

java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.([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 依赖更新:

升级前:

org.springframework.cloud

spring-cloud-starter-eureka-server

升级后:

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

2、Eureka Client 依赖更新:

升级前:

org.springframework.cloud

spring-cloud-starter-eureka

升级后:

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

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

3、Ribbon 依赖更新

升级前:

org.springframework.cloud

spring-cloud-starter-ribbon

升级后:

org.springframework.cloud

spring-cloud-starter-netflix-ribbon

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

升级前:

org.springframework.cloud

spring-cloud-starter-hystrix

org.springframework.cloud

spring-cloud-starter-hystrix-dashboard

升级后:

org.springframework.cloud

spring-cloud-starter-netflix-hystrix

org.springframework.cloud

spring-cloud-starter-netflix-hystrix-dashboard

turbine:

org.springframework.cloud

spring-cloud-starter-turbine

org.springframework.cloud

spring-cloud-starter-netflix-turbine

使用 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)

升级前:

org.springframework.cloud

spring-cloud-starter-feign

升级后:

org.springframework.cloud

spring-cloud-starter-openfeign

注解包路径改了:

org.springframework.cloud.openfeign.EnableFeignClients

6、zuul 依赖更新

升级前:

org.springframework.cloud

spring-cloud-starter-zuul

升级后:

org.springframework.cloud

spring-cloud-starter-netflix-zuul

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

升级前:

${spring.cloud.client.ipAddress}

升级后:

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

你可能感兴趣的:(eureka,spring,cloud,artifactId)