spring cloud alibaba 版本踩坑,各种版本一个个问题 一个个门槛 头疼死
spring cloud alibaba 版本踩坑
经历了各种折磨,然后整理出spring cloud alibaba + Nacos + Openfeign[3.0.0版本 需要加入 spring-cloud-starter-loadbalancer]
版本依赖
Spring boot 版本不能太高
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Spring cloud 版本应该选取相对应的 Spring boot 版本
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<!--<spring.cloud-version>Hoxton.SR12</spring.cloud-version>-->
<spring.cloud-version>2020.0.5</spring.cloud-version>
<type>pom</type>
<scope>import</scope>
</dependency>
Spring cloud alibaba 版本
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<!--<version>2.2.7.RELEASE</version>-->
<version>2021.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
NACOS依赖 discover+config
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.1</version>
</dependency>
<!-- 配置中心来进行集中管理配置信息 版本需要与discover 一致-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.1</version>
</dependency>
<!-- 使用nacos的配置中心,高版本里的 bootstrap.properties 不生效,需要添加 bootstrap依赖才可以 -->
<!-- spring-cloud-dependencies 2020.0.0 版本不在默认加载bootstrap 文件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.0</version>
</dependency>
Spring Cloud Gateway
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>3.1.0</version>
</dependency>
集成配到Spring cloud alibaba 整个项目立 会碰到如下异常:
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean
解决方案:
<dependency>
<groupId>***.***</groupId>
<artifactId>*************</artifactId>
<version>***********</version>
<!--webflux与webmvc不兼容,否则会项目启动不起来 找到依赖webmvc的jar包,将webmvc排除即可 -->
**<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</exclusion>
</exclusions>**
</dependency>