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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM