讲师中心 微信公众号
AI工具推荐 视频效率加速

IDEA运行项目报错找不到主类怎么排查_Main class not found如何检查配置和编译输出【排查】

落涛同学_2673

落涛同学_2673

发布时间:2026-03-27 12:05:29

|

991人浏览过

|

来源于php中文网

原创

“Main class not found”错误源于运行配置、编译输出、源码根标记、主方法签名或模块/SDK设置异常;需依次检查主类全限定名、class文件是否存在、src是否标记为Sources Root、main方法是否public static void且类为public、以及module-info与SDK版本是否匹配。

idea运行项目报错找不到主类怎么排查_main class not found如何检查配置和编译输出【排查】

如果您在 IntelliJ IDEA 中运行 Java 项目时提示 “Main class not found” 或 “找不到主类”,则通常是由于运行配置中指定的主类路径错误、类未正确编译、或模块/源码根目录设置异常导致。以下是排查此问题的具体步骤:

一、检查运行配置中的 Main class 字段

IDEA 的运行配置可能手动输入了错误的全限定类名,或未自动识别含 public static void main(String[] args) 方法的类。

1、点击右上角运行配置下拉菜单,选择 Edit Configurations…。

2、在左侧选择对应 Application 配置项,在 Main class 输入框中确认是否填写了完整的类名(如 com.example.App),而非仅类名(App)或包名(com.example)。

3、若输入框为空或显示红色波浪线,点击右侧 Search by class name 图标,输入类名后从列表中选择正确类。

二、验证主类是否存在于编译输出目录

IDEA 运行时依赖于 out/production/xxx(旧版)或 build/classes/java/main/(Maven/Gradle 项目)下的 .class 文件;若该目录中无对应主类的字节码,则必然报错。

1、展开项目视图中的 Project 标签页,定位到目标主类所在包路径(如 src/main/java/com/example/App.java)。

2、在文件管理器中进入项目根目录,检查 out/production/xxx/(IntelliJ 默认输出)或 build/classes/java/main/(构建工具项目)是否存在对应路径(如 com/example/App.class)。

3、若缺失,执行 Build → Build Project,观察编译日志是否报错;若编译失败,主类不会生成。

三、确认源码根目录(Sources Root)是否正确标记

IDEA 必须识别哪些目录为源代码根路径,否则不会将其中的 .java 文件纳入编译流程,也不会生成对应 .class 文件。

1、在项目结构中右键点击 src/main/java(Maven/Gradle)或 src(传统项目)文件夹。

2、选择 Mark Directory as → Sources Root,确认该目录图标变为蓝色,并在 Project Structure → Modules 中显示为 Sources 类型。

3、若存在多个 src 目录但仅部分被标记,未标记目录中的主类将不参与编译。

四、检查主类是否满足 JVM 启动要求

JVM 要求主类必须声明 public 访问修饰符且包含签名完全匹配的静态 main 方法;任一条件不满足均会导致“找不到主类”或运行时报 NoSuchMethodError。

1、打开疑似主类,确认类声明为 public class App(非 default、protected 或 private)。

2、确认 main 方法签名严格为:public static void main(String[] args);不得缺少 public、static、void,参数类型不可为 String[] args、String... args 以外形式。

3、若使用 record 或 interface 声明主类,JVM 不支持启动,需改用普通 public class。

五、验证模块与项目 SDK 设置一致性

当项目启用模块系统(module-info.java)或跨 JDK 版本时,模块声明缺失、requires 不完整、或 SDK 版本与字节码版本不兼容,均可能导致主类加载失败。

1、检查项目根目录是否存在 module-info.java;若存在,确认其中包含 exports 主类所在包,并通过 requires java.base 等必要模块。

2、进入 File → Project Structure → Project,核对 Project SDK 和 Project language level 是否与主类编译目标一致(如 SDK 17 对应 language level 17)。

3、在 Modules 页面中,确认对应模块的 Dependencies 选项卡下已添加正确的 SDK,并无红色警告图标。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

3320

2025.09.15

Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

349

2026.05.09

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

5739

2023.08.02

javascriptvoid(o)怎么解决
javascriptvoid(o)怎么解决

javascriptvoid(o)的解决办法:1、检查语法错误;2、确保正确的执行环境;3、检查其他代码的冲突;4、使用事件委托;5、使用其他绑定方式;6、检查外部资源等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

636

2023.11.23

java中void的含义
java中void的含义

本专题整合了Java中void的相关内容,阅读专题下面的文章了解更多详细内容。

351

2025.11.27

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

3536

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

286

2025.12.06

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

3510

2025.09.10

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

100

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn