Linux Mint下IntelliJ运行HelloWorld出现Main类找不到错误
解决IntelliJ运行Java程序时找不到主类的问题
问题根源
从你提供的运行命令能明显看到,classpath路径包含空格字符(比如Network Drive、Binaries and Scripts),但IntelliJ自动生成的命令没有对带空格的路径添加引号,导致Java解析classpath时被空格截断,无法定位到正确的类文件输出目录,最终抛出ClassNotFoundException。
解决方案
方案1:迁移项目到无空格路径
将项目移动到不含空格的目录下,比如/home/username/Projects/JUnitTestProject,重新导入IntelliJ后再运行。这是最彻底的解决方式,能规避路径空格引发的各类兼容问题。方案2:手动修正运行配置的classpath参数
- 点击IntelliJ右上角运行按钮旁的下拉框,选择
Edit Configurations - 在
Configuration标签页中,找到Command line字段(或直接编辑VM参数) - 将classpath对应的路径用双引号包裹,例如把原命令中的:
修改为:-classpath /home/username/Network Drive/.../JUnit Test Project-classpath "/home/username/Network Drive/.../JUnit Test Project" - 保存配置后重新运行程序
- 点击IntelliJ右上角运行按钮旁的下拉框,选择
方案3:校验项目结构配置
- 打开
File > Project Structure - 进入
Modules > Sources,确认Output directory的路径正确且无空格 - 进入
Project标签页,确保Project SDK和Project language level与你终端使用的OpenJDK 22.0.2版本匹配
- 打开
补充说明
终端能正常运行是因为你手动执行时可能对路径做了转义(比如Network\ Drive)或加了引号,但IntelliJ自动生成命令时未处理空格场景,导致执行失败。
内容的提问来源于stack exchange,提问作者Kazutadashi
相关产品推荐
相关产品推荐

