VSCode运行Java报Could not find or load main class App的原因及解决方法
问题原因
- 文件名与类名不匹配:Java要求
public修饰的类名必须和文件名完全一致(大小写敏感),如果文件名为Hello.java但类名为App,或者反过来,都会导致JVM找不到目标类。 - 类路径配置错误:VSCode Java插件未将当前Java文件所在目录加入类路径,JVM运行时无法搜索到编译后的
.class文件。 - 编译产物路径异常:VSCode生成的
.class文件被输出到JVM默认搜索路径之外的目录,运行时无法定位。 - 主类/主方法定义错误:主类未加
public修饰、main方法签名不符合规范、或者类中根本没有定义main方法,都会触发类加载失败。 - 未保存代码就运行:运行的是未更新的旧编译产物,旧版本中不存在
App类。
解决方法
- 校验类名与文件名一致性
确认public类名和文件名完全一致,比如类名是App,文件名必须为App.java,注意大小写适配。正确的App.java代码示例如下:public class App { public static void main(String[] args) { System.out.println("Hello World"); } } - 清理Java语言服务器缓存
按下Ctrl+Shift+P(Mac设备为Command+Shift+P)调出命令面板,输入Java: Clean Java Language Server Workspace执行,重启VSCode后重新运行代码。 - 修正项目打开方式
确认你在VSCode中打开的是项目根目录,而非单独的.java文件,Java插件需要识别完整项目结构才能自动配置类路径。单文件测试时直接右键编辑器选择Run Java即可,无需手动执行编译命令。 - 校验主方法签名
确认主方法的签名完全符合规范:public static void main(String[] args),修饰符、返回值类型、参数类型不可修改,参数名可自定义。 - 手动排查插件问题
打开终端进入Java文件所在目录,执行javac App.java编译,编译无报错后执行java App,如果能正常输出结果说明是VSCode Java插件配置异常,更新或重装Extension Pack for Java插件即可修复。
内容的提问来源于stack exchange,提问作者Guilherme Ribeiro
相关产品推荐
相关产品推荐

