Sublime Text 3编译Java后CMD运行报错:找不到主类求助
解决Sublime Text 3中Java程序在CMD运行时找不到主类的问题
嘿,这个问题我之前也碰到过!你之所以会出现“Could not find or locate the main class”的错误,本质是CMD启动时的工作目录不对——Sublime默认打开CMD的路径不是你当前Java文件所在的文件夹,导致Java命令找不到编译好的.class文件。
直接给你修改好的java.sublime-build配置,替换掉你原来的内容就行:
{ "cmd": ["javac", "$file_name"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "working_dir": "$file_path", "variants": [ { "cmd": ["start", "cmd", "/k", "cd", "$file_path", "&&", "java", "$file_base_name"], "shell": true, "name": "Run" } ] }
我给你拆解下关键修改点:
- 新增了
"working_dir": "$file_path":让javac编译时直接在当前Java文件的目录下生成.class文件,避免编译产物跑到其他路径去。 - 在Run变体的命令里加了
cd $file_path &&:强制CMD启动后先切换到当前文件所在的目录,再执行java命令,这样就能精准找到编译好的主类文件了。
使用方法也很简单:
- 保存这个配置文件
- 打开你的Java代码,按
Ctrl+B先完成编译 - 按
Ctrl+Shift+B,在弹出的选项里选择「Java - Run」,就能看到CMD窗口正常启动并运行你的程序,而且还能正常输入内容哦!
内容的提问来源于stack exchange,提问作者G Ajeet
相关产品推荐
相关产品推荐

