Springboot版本对应的Springcloud依赖版本(参考cloud官网)
Release Train | Boot Version |
2.4.x | |
2.2.x, 2.3.x (Starting with SR5) | |
2.1.x | |
2.0.x | |
1.5.x | |
1.5.x |
环境搭建
1.新建一个普通Maven项目:Springcloud-Study(工作中也可以直接创建springboot项目,更方便)
2.父工程中导入相关依赖和设置依赖管理
【注意】
- spring-boot-dependencies 须放在<parent>...</parent>, 这样每个moudle都是springboot项目了!会自动引入父工程的spring-boot-dependencies依赖。不然会启动报错
- spring-cloud-dependencies 在父工程dependencyManagement需要配置管理它,且版本要适应springboot版本
- mysql-connector-java 8.0以上(com.mysql.cj.jdbc.Driver, useSSL=true)8.0以下(com.mysql.jdbc.Driver, useSSL=false)
- 子模块如果访问不到classpath目录文件,建议将resources文件夹删除后new一个directory标记为resources
3.创建相关子模块,如api, provider, consumer,zuul...
4.完善子模块的功能与配置(pom依赖,数据库,三层架构,配置文件,前端页面,静态资源...)
- 如何在模块中引入自己的模块jar ?
-
在pom.xml中通过<properties/>进行版本统一管理
-
依赖管理: 这里只是声明用了哪些依赖,并没有实际导入,需要在子类中导入需要的依赖
<dependencyManagement> <dependencies> <!-- spring-cloud依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2020.0.1</version> <type>pom</type> <scope>runtime</scope> </dependency> ... </dependencies> </dependencyManagement>
目录
Springboot版本对应的Springcloud依赖版本(参考cloud官网)
相关报错
- java.lang.ClassNotFoundException 未导入对应依赖或依赖的版本过高/低
- Correct the classpath of your application so that it contains a single, compatible version of javax.servlet.ServletContext 是因为相关jar包重复,按照报错提示找到对应的jar包删除 apply即可
-
java.lang.ClassNotFoundException: org.springframework.boot.Bootstrapper 是因为子模块没有配置spring-boot-dependencies相关依赖,建议spring-boot-dependencies 须放在<parent>...</parent>, 这样每个moudle都是springboot项目了!会自动引入父工程的spring-boot-dependencies依赖。