vscode编译java程序出现NoSuchMethodError的解决方法
Posted Security菜鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vscode编译java程序出现NoSuchMethodError的解决方法相关的知识,希望对你有一定的参考价值。
一、问题发现
某天,我在学习java反射机制的时候,在Debian中使用vscode编写了一个简单的java反射机制项目,在编译项目代码的时候出现如下错误:
Exception in thread "main" java.lang.NoSuchMethodError
进行断点调试,调试进入类中的某个方法时中断了,检查代码却发现没有写错,把代码复制到IDEA中运行也没有报错,到网上搜索该错误,大部分回答都说是多个java版本之间冲突导致的错误,但是我的Debian中只安装了一个Java 11,此时我怀疑应该是vscode的插件在调用jdk时出现了bug导致了这个错误。
二、问题解决
-
直接重写修改vscode的java配置,指定jdk版本与路径,我的是java 11。
-
打开vscode的设置,搜索javahome,点击打开settings.json,如下:
-
修改java运行环境,如下,注意path只要jdk的安装目录即可,不要具体到java的可执行文件。
-
再次编译项目,问题解决。
以上是关于vscode编译java程序出现NoSuchMethodError的解决方法的主要内容,如果未能解决你的问题,请参考以下文章
JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java