IntelliJ IDEA中Maven项目无法运行:找不到或加载主类求助
解决IntelliJ IDEA中Maven项目「Could not find or load main class」报错
一、核对编译输出路径配置
- 检查
compiler.xml的target路径:打开文件,确认<module>标签里的targetOutputPath和testTargetOutputPath是否指向Maven默认的target/classes和target/test-classes,示例正确配置:
路径错误的话手动修改,然后执行<module name="tsp3" targetOutputPath="$MODULE_DIR$/target/classes" testTargetOutputPath="$MODULE_DIR$/target/test-classes" />File -> Sync Project with Maven Projects同步,再重新编译。 - 检查项目结构输出路径:打开
File -> Project Structure -> Modules,选中tsp3模块切换到Paths标签,确认「Output path」和「Test output path」与Maven的target目录一致,勾选「Use module compile output path」。
二、验证Maven编译是否正常
- 终端执行
mvn clean compile package,看编译是否成功。如果有编译错误(依赖缺失、代码语法问题等),先解决这些问题——编译失败会直接导致主类字节码文件生成失败,自然找不到主类。 - 编译成功后,检查
target/classes目录下是否存在主类的.class文件(比如com/yourpackage/YourMainClass.class),没有的话要检查主类的包路径、类名是否正确,有没有被排除在编译范围外。
三、检查运行配置细节
- 打开运行配置(右上角运行按钮下拉框→Edit Configurations),确认:
- 「Main class」的全类名完全正确(注意大小写、包路径,比如
com.yourpackage.YourMainClass) - 「Working directory」指向项目根目录
- 「Classpath of module」选择当前模块
tsp3的编译输出路径(对应target/classes)
- 「Main class」的全类名完全正确(注意大小写、包路径,比如
四、清理缓存并重启IDEA
- 执行
File -> Invalidate Caches...,勾选「Clear file system cache and local history」,点击「Invalidate and Restart」。重启后重新编译运行项目,很多缓存导致的问题都能解决。 - 如果之前删除过
.idea和.iml文件,重新导入项目时选「Import project from external model → Maven」,确保IDEA正确识别Maven配置。
五、核对.iml文件配置
打开tsp3.iml,确认source和output路径配置正确,示例如下:
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> <outputFolder url="file://$MODULE_DIR$/target/classes" /> <outputFolder url="file://$MODULE_DIR$/target/test-classes" test="true" />
有错误配置的话手动修正,再同步项目。
内容的提问来源于stack exchange,提问作者doradura
相关产品推荐
相关产品推荐

