spring boot 2.0.0由于版本不匹配导致的NoSuchMethodError问题解析
2018-09-25 18:31
781 查看
spring boot升级到2.0.0以后,项目突然报出
NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>异常,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/21/94619a09349a07124f81f34cf0a81341.png)
跟踪源代码无果的情况下。突然想到有可能是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问题解析
- 关于android studio 由于版本问题导致低版本studio项目无法导入高版本的studio的项目中。
- 由于idea和maven版本问题,导致-Dmaven.multiModuleProjectDirectory system property is not set.
- mysql数据库由于启用dns逆向解析导致数据库链接查询过慢的问题
- 由于IE版本问题导致SAP的F1帮助文档显示不出来的解决办法
- 由于jquery版本差异导致的问题总结
- spring mybatis整合框架时由于mybatis版本与mysql客户端不匹配出现的问题
- 由于数据库ojdbc14.jar版本不正确导致ORA-01461问题的解决方法
- 由于Spring3.0.5、Hibernante3.2.7、Struts2.1版本不兼容导致的问题及其解决办法。
- PHP-函数-mb_strlen函数由于版本问题导致中文字符截断问题
- 由于JRE版本导致的Error filterStart问题
- VC中字符串由于版本不同而导致的错误问题
- 由于jar包版本不匹配导致整个项目出现莫名其妙的错误影响项目整体进程。
- 解决由于DNS解析导致Emacs启动巨慢的问题 推荐
- 解决由于升级的Win10周年版本后Oracle VM VirtualBox无法运行导致的eNSP V390里面的路由器和防火墙等设备无法启动的问题(错误代码40)
- 由于rt.jar包版本问题导致图片加密异常
- TensorFlow中常见的由于API版本问题导致的错误汇总
- 由于JDK版本问题导致的错误
- 由于升级iOS版本导致证书丢失等一系列问题汇总
- 由于安装oracleasm包的版本导致的问题: