spring boot 2.0.0由于版本不匹配导致的NoSuchMethodError问题解析
2018-03-27 11:34
921 查看
spring boot升级到2.0.0以后,项目突然报出
NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>异常,
跟踪源代码无果的情况下。突然想到有可能是spring boot 和 spring cloud版本不匹配导致的。
于是,上官网看spring cloud的依赖,首先看
Edgware.SR2版本的依赖,可以看出
Edgware.SR2依赖是1.5.X版本
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.SR2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
再看
Finchley版本的依赖,可以看出
Finchley依赖的是2.0.0版本
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.BUILD-SNAPSHOT</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
查看官网目前最新的
Finchley版本是
Finchley.M8,所以对于使用spring boot2.0.0的朋友,只要将对应的spring cloud切换为
Finchley.M8版本,即可解决
SpringApplicationBuilder.<init>报出NoSuchMethodError的问题。下面给出大家一个spring boot版本和spring cloud版本的匹配关系:
Spring Cloud | Spring Boot |
---|---|
Finchley | 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x |
Dalston和Edgware | 兼容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 |
只要按照上述表格做spring boot和spring cloud的关系匹配,就不会出现该报错了。
相关文章推荐
- spring boot 2.0.0由于版本不匹配导致的NoSuchMethodError问题解析
- spring 版本不同导致json解析问题,解决方案
- spring mybatis整合框架时由于mybatis版本与mysql客户端不匹配出现的问题
- 由于Spring3.0.5、Hibernante3.2.7、Struts2.1版本不兼容导致的问题及其解决办法。
- 整合SSM框架—mybatis和mybatis-spring包版本不匹配问题
- 关于SpringBoot2.0版本使用过程中遇到问题
- 由于JDK版本问题导致的错误
- Spring boot 启动类位置导致类无法注入问题
- Mybatis整合Spring 由于版本引起的BUG问题
- Springboot内置Tomcat版本导致的“The valid characters are defined in RFC 7230 and RFC 3986”错误
- 由于升级iOS版本导致证书丢失等一系列问题汇总
- 解决由于升级的Win10周年版本后Oracle VM VirtualBox无法运行导致的eNSP V390里面的路由器和防火墙等设备无法启动的问题(错误代码40)
- 由于jar包版本不匹配导致整个项目出现莫名其妙的错误影响项目整体进程。
- 由于JRE版本导致的Error filterStart问题
- Angular2 和springboot 整合后 url 解析出现的问题解决方案
- Spring Boot 2.0.0 终于正式发布-重大修订版本
- 记录问题:springboot中使用Mybatis-pagehelper分页插件遇到的版本兼容问题
- 由于idea和maven版本问题,导致-Dmaven.multiModuleProjectDirectory system property is not set.
- VC中字符串由于版本不同而导致的错误问题
- WebApp由于需要从Spring官网下载schema文件导致启动时长时间卡住问题的分析和解决