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

Maven转换Java项目后运行报找不到或无法加载主类问题咨询

转Maven项目后找不到主类问题解决

问题背景

  • 初始创建的普通Java项目可正常运行,手动转换为Maven项目后pom.xml无任何报错
  • 运行主类时抛出如下错误:
Error: Could not find or load main class jhj
Caused by: java.lang.ClassNotFoundException: jhj
  • 对应主类代码无语法问题:
public class jhj {
    public static void main(String[] args)
    {
        System.out.println("as");
    }
}
  • 已确认JAVA_HOME、M2_HOME、MAVEN_HOME环境变量配置正确,已尝试移除项目重导、刷新项目、执行Maven Update Project操作,问题未解决。

根因与解决步骤

这个问题90%以上的原因是普通项目转Maven项目时,IDE没有自动完成Maven标准目录结构的标记,导致Java源文件没有被编译到输出路径,运行时自然找不到对应class文件,按以下顺序操作排查即可:

  • 标记源码根目录
    Maven默认的源码根路径为src/main/java,手动转Maven项目时IDE不会自动把原有源码目录识别为构建路径:
    • Eclipse/STS:右键点击存放jhj.java的目录,选择Build Path -> Use as Source Folder
    • IDEA:右键点击存放jhj.java的目录,选择Mark Directory as -> Sources Root
      标记完成后在项目根目录执行命令mvn clean compile,查看target/classes目录下是否生成了jhj.class文件,有生成的话再尝试运行。
  • 核对包声明与运行类名
    如果jhj.java存放在带包路径的目录下,必须在文件第一行添加对应包声明,例如存放在com.demo目录下时,第一行必须写package com.demo;,运行时要使用全限定类名com.demo.jhj,不能直接使用裸类名jhj。
  • 彻底清理IDE缓存重新导入
    关闭IDE后进入项目根目录,删除以下内容:
    • Eclipse系:删除.settings文件夹、.classpath文件、.project文件、整个target文件夹
    • IDEA系:删除.idea文件夹、所有后缀为.iml的文件、整个target文件夹
      删除完成后重新打开IDE,选择导入根目录下的pom.xml文件,等待Maven依赖和构建路径加载完成后再尝试运行。
  • 核对pom.xml构建配置
    检查pom.xml中的<build>节点,如果手动配置了<sourceDirectory>标签,确认标签内的路径和你实际存放源码的路径一致;最简配置下不需要额外配置sourceDirectory,使用Maven默认路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 22:30:43