VSCode使用Code Runner扩展运行Java代码报错无法找到主类问题求助
报错
Caused by: java.lang.NoClassDefFoundError: Main (wrong name: main)的本质是Code Runner默认尝试运行大写开头的Main类,和你实际代码里小写的main类名不匹配,Java大小写敏感因此抛出类找不到错误。
修复步骤
1. 核对文件名与类名的一致性
- Java强制要求public类的类名与文件名大小写完全匹配,你手动执行
javac main.java、java main可正常运行,说明当前你的文件名是main.java,类名为小写main,二者匹配无误。
2. 修改Code Runner的Java执行命令
- 打开VS Code设置界面,搜索
Code-runner: Executor Map,点击对应条目下的「在settings.json中编辑」 - 在打开的json配置中,找到
"code-runner.executorMap"下的java配置项,将其修改为如下内容:
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
该命令逻辑和你手动执行的命令完全一致,会自动读取当前文件的名称作为类名执行,不会硬编码大写的Main类名。
3. 配置Code Runner为Java默认运行器
如果希望界面的运行按钮默认触发Code Runner的执行逻辑:
- 按下
Ctrl+Shift+P调出命令面板,搜索「配置默认生成任务」,选中Code Runner的Java执行条目即可,或点击运行按钮旁的下拉箭头,直接选择Code Runner作为默认运行选项。
4. 验证
重启VS Code后打开Java文件,按下Ctrl+Alt+N即可正常运行代码。
内容的提问来源于stack exchange,提问作者Nikhil John Jose
相关产品推荐
相关产品推荐

