You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Spring Boot Gradle找不到或无法加载主类报错

Gradle构建Spring Boot触发Could not find or load main class报错修复

核心问题直接看报错日志里的类全限定名:你配置里写的主类路径是com.notification.NotificationServiceApplication,但实际运行时查找的是com.notifcation.NotificationServiceApplication——包名notification少打了一个字母i,属于路径拼写不匹配问题,按下面步骤修复即可:

修复操作

  • 核对主类实际路径
    打开项目中的NotificationServiceApplication.java启动类,先看文件顶部的package声明,再确认文件存放的目录路径,必须和springBoot.mainClass配置的全限定名完全一致,差一个字符、大小写不对都会触发类找不到的错误。如果启动类实际包名确实少了i,要么改包名/文件位置,要么把build.gradle里的mainClass配置改成和实际路径完全匹配的值。
  • 清理旧构建缓存
    路径修正后,在项目根目录执行清理命令,删掉之前错误构建生成的缓存文件:
    # 本地安装了Gradle用这个
    gradle clean
    # 用项目自带Gradle Wrapper的话,Linux/macOS执行
    ./gradlew clean
    # Windows系统执行
    gradlew.bat clean
    
  • 重新构建启动
    清理完成后重新执行启动命令即可,如果是用IDEA等IDE运行,先点Gradle面板的刷新按钮同步下项目配置,避免IDE索引缓存残留导致的配置不生效问题。

拼写核对无误仍报错的补充检查项

  • 确认启动类是public修饰,类上标有@SpringBootApplication注解,且包含标准main方法:
    package com.notification;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class NotificationServiceApplication {
        public static void main(String[] args) {
            SpringApplication.run(NotificationServiceApplication.class, args);
        }
    }
    
  • 确认src/main/java目录被标记为项目的源码根目录,否则Gradle编译时不会扫描这个目录下的Java文件,自然找不到编译后的主类。

内容的提问来源于stack exchange,提问作者SpicySandwich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:18:54