为什么VS CODE中已存在main方法却无法被识别找到?
问题成因
- 核心语法错误:你编写的main方法参数类型不符合JVM规范,代码中写的是
Strings[ ],Java标准的程序入口方法参数类型为String[],多写的s会导致JVM和VS Code的Java插件无法识别该方法为程序入口。 - 若main方法所在的类未使用
public修饰、或者类名和.java文件名大小写不匹配,也会触发该报错。 - 若VS Code的Java语言服务缓存异常、项目绑定的JDK版本不匹配,也会出现合法代码依然报错的情况。
解决办法
- 首先修正main方法的参数类型,同时保证main方法所在的公共类名和文件名完全一致,参考修正后的完整代码:
// 假设文件名为HelloTest.java,类名必须和文件名一致 public class HelloTest { static void sayHello(String name) { System.out.println("Hello" + name); } public static void main(String[] args) { sayHello("David"); } }
- 若修正代码后问题依然存在,可按下
Ctrl+Shift+P(Mac系统按Command+Shift+P)调出命令面板,执行Java: Clean Java Language Server Workspace命令清理Java服务缓存,重启VS Code后重新加载项目即可。
内容的提问来源于stack exchange,提问作者ElevenBits
相关产品推荐
相关产品推荐

