最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot啟動報錯找不到或無法加載主類的三種解決方案

 更新時間:2026年02月05日 09:05:47   作者:柚子科技  
這篇文章主要為大家詳細介紹了SpringBoot項目啟動時報錯找不到或無法加載主類的三種解決方案,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下

前言

這篇文章主要寫給 正在開發(fā)或學習 Spring Boot 的同學,尤其是剛接觸 Spring Boot、在課程設計或畢業(yè)設計階段頻繁導入項目的人。

我最近在一臺 Windows 11 + JDK 8 / JDK 17 的開發(fā)環(huán)境中,多次遇到 Spring Boot 項目啟動時報錯:

錯誤: 找不到或無法加載主類 xxx.Application

這個問題在IDE 中看似簡單,但實際排查時非常浪費時間。在完整解決并復盤之后,我把關鍵排查點整理成一篇文章,希望能幫你少走彎路。

一、問題現(xiàn)象與錯誤本質

常見報錯信息如下:

Error: Could not find or load main class com.example.demo.DemoApplication
Caused by: java.lang.ClassNotFoundException

從 JVM 的角度來看,這個錯誤只有一個核心含義:

啟動時指定的主類,在當前 classpath 中不存在。

但“為什么不存在”,才是我們真正要解決的問題。

二、第一步:確認 Spring Boot 主啟動類是否規(guī)范

這是最基礎、也是最容易被忽略的一步。

主啟動類必須滿足的條件

請確認你的啟動類同時滿足以下要求:

  • 位于 src/main/java 目錄下
  • 包名與實際目錄結構一致
  • 包含 @SpringBootApplication 注解
  • 包含標準的 main 方法

示例代碼如下:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author LLL
 * @since 2026
 */
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

真實踩坑點

我曾在重構包名后,只改了文件夾路徑,卻忘了同步修改 package 聲明,IDE 不報紅,但啟動直接失敗。

三、第二步:檢查 IDE 的運行配置(高頻問題)

在我的經(jīng)驗中,至少一半的“找不到主類”問題,都出在運行配置上,而不是代碼本身。

2.1 IntelliJ IDEA 中的排查方式

依次檢查:

  • 點擊右上角運行配置
  • 打開 Run / Debug Configurations
  • 查看當前 Spring Boot 配置項

重點關注兩個地方:

  • Main class:是否是當前項目真實存在的 Application
  • Module:是否選擇了正確的模塊(多模塊項目尤其容易出錯)

推薦做法

直接刪除原有運行配置,然后:

  • 右鍵點擊 Application
  • 選擇 Run

讓 IDEA 自動生成配置,成功率最高。

2.2 Eclipse 中的排查方式

在 Eclipse 中,這個問題更常見,建議直接使用“重建思路”:

  • 打開 Run Configurations
  • 刪除舊的 Java ApplicationSpring Boot App
  • 重新右鍵主啟動類 → Run As

四、第三步:清理構建緩存并重新編譯

當代碼和運行配置都沒問題,但錯誤依舊存在時,十有八九是構建緩存出了問題。

3.1 Eclipse:使用 Clean 功能

Project → Clean → Clean all projects

這個操作會清理舊的 .class 文件和構建緩存,對 Eclipse 用戶非常關鍵。

3.2 IntelliJ IDEA + Maven 項目

我個人更推薦直接從 Maven 下手:

mvn clean package

重點觀察:

  • target/classes 目錄下
  • 是否真的生成了 DemoApplication.class

如果 .class 文件都沒生成,JVM 自然找不到主類。

五、容易被忽略但很致命的細節(jié)

下面這些問題我都真實踩過坑

  • 項目 JDK 與 IDE JDK 不一致
  • 多模塊項目,啟動模塊選錯
  • pom.xml 編譯失敗但未注意控制臺日志
  • 使用了不兼容的 JDK 版本(例如低版本 Spring Boot + 高版本 JDK)

建議:遇到問題時,先看一遍完整控制臺日志,而不是只盯著最后一行報錯。

回到問題本身

在文章開頭我們提到,這個錯誤的本質是:

JVM 在 classpath 中找不到你指定的主類。

只要你圍繞以下三個點去排查:

  • 主啟動類是否真實存在
  • IDE 是否指向了正確的類
  • 編譯結果是否真的生成

這個問題幾乎都能解決。

以上就是SpringBoot啟動報錯找不到或無法加載主類的三種解決方案的詳細內(nèi)容,更多關于SpringBoot啟動報錯解決的資料請關注腳本之家其它相關文章!

相關文章

  • 深入SQLite多線程的使用總結詳解

    深入SQLite多線程的使用總結詳解

    本篇文章是對SQLite多線程的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Java中保證線程順序執(zhí)行的操作代碼

    Java中保證線程順序執(zhí)行的操作代碼

    本文給大家分享一篇教程關于java線程順序執(zhí)行問題,如何保證線程的順序執(zhí)行呢?今天通過實例代碼給大家詳細講解下,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • HashMap在JDK7與JDK8中的實現(xiàn)過程解析

    HashMap在JDK7與JDK8中的實現(xiàn)過程解析

    這幾天學習了HashMap的底層實現(xiàn),但是發(fā)現(xiàn)好幾個版本的,代碼不一,很多文章都是舊版本JDK1.6.JDK1.7的?,F(xiàn)在我來分析下JDK7與JDK8中HashMap的實現(xiàn)過程
    2021-09-09
  • SpringBoot Kafka 整合使用及安裝教程

    SpringBoot Kafka 整合使用及安裝教程

    這篇文章主要介紹了SpringBoot Kafka 整合使用及安裝教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-07-07
  • SpringCloud Gateway自動裝配實現(xiàn)流程詳解

    SpringCloud Gateway自動裝配實現(xiàn)流程詳解

    Spring Cloud Gateway旨在為微服務架構提供一種簡單有效的、統(tǒng)一的 API 路由管理方式。Spring Cloud Gateway 作為 Spring Cloud 生態(tài)系中的網(wǎng)關,它不僅提供統(tǒng)一的路由方式,并且基于 Filter 鏈的方式提供了網(wǎng)關基本的功能,例如:安全、監(jiān)控/埋點和限流等
    2022-10-10
  • SpringBoot+MybatisPlus+Mysql+Sharding-JDBC分庫分表

    SpringBoot+MybatisPlus+Mysql+Sharding-JDBC分庫分表

    本文主要介紹了SpringBoot+MybatisPlus+Mysql+Sharding-JDBC分庫分表,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringBoot搭建全局異常攔截

    SpringBoot搭建全局異常攔截

    這篇文章主要介紹了SpringBoot搭建全局異常攔截,本文通過詳細的介紹與代碼的展示,詳細的說明了如何搭建該項目,包括創(chuàng)建,啟動和測試步驟,需要的朋友可以參考下
    2021-06-06
  • 詳解JAVA動態(tài)代理

    詳解JAVA動態(tài)代理

    這篇文章主要介紹了JAVA動態(tài)代理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Java中調用第三方接口的詳細代碼示例

    Java中調用第三方接口的詳細代碼示例

    這篇文章主要介紹了Java中調用第三方接口的詳細代碼示例,文章總結了多種Java進行HTTP請求的方法,每種方法都有其特點和適用場景,從原生到封裝,再到聲明式客戶端,滿足了不同復雜度的HTTP請求需求,需要的朋友可以參考下
    2024-12-12
  • springmvc使用JSR-303進行數(shù)據(jù)校驗實例

    springmvc使用JSR-303進行數(shù)據(jù)校驗實例

    本篇文章主要介紹了詳解springmvc使用JSR-303進行數(shù)據(jù)校驗,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02

最新評論

永仁县| 棋牌| 涟水县| 龙山县| 阿拉善盟| 张家界市| 通辽市| 三原县| 灵璧县| 武宁县| 永靖县| 阳朔县| 尚志市| 墨玉县| 政和县| 凯里市| 凤阳县| 鹿泉市| 苏尼特左旗| 和林格尔县| 上饶市| 邢台县| 兰溪市| 台州市| 莱州市| 扎赉特旗| 清水河县| 平南县| 高青县| 滦南县| 阜阳市| 张家川| 辛集市| 岳池县| 蕉岭县| 诸城市| 岫岩| 湖北省| 六安市| 紫金县| 双城市|