SpringCloud项目启动报错:NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable

报错表象:

当启动SpringClud项目报错:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable

java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V

时,就要检查 spring-boot-starter-parent 的版本和 spring-cloud-dependencies 的版本,这两个版本中是否是 spring-boot-starter-parent 的版本太高了。

我的结论:

试过各种版本匹配,最后结论为若想要高版本的spring-cloud-dependencies例如Edgware.SR4,那么spring-boot-starter-parent 版本只能是1开头的高版本,不能是2.X

以下两个version版本经验证,可以正常启动SpringCloud

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.16.RELEASE</version>
<relativePath/>
</parent>
<!-- 使用dependencyManagement进行版本管理 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
上一篇:冒泡排序(java)


下一篇:CSS回顾(基础知识,元素,选择器,盒子,颜色)