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导致了这个错误。

二、问题解决

  1. 直接重写修改vscode的java配置,指定jdk版本与路径,我的是java 11。

  2. 打开vscode的设置,搜索javahome,点击打开settings.json,如下:

  3. 修改java运行环境,如下,注意path只要jdk的安装目录即可,不要具体到java的可执行文件。

  4. 再次编译项目,问题解决。

 

以上是关于vscode编译java程序出现NoSuchMethodError的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

在VSCode里编译C++Java程序,并设置环境

JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java

vscode搭建java运行环境?

vscode C语言编译?

codeblocks和vscode编译时弹出不支持的16位程序解决方案

记录一次keil vscode 联合调试阅读代码过程中出现乱码,导致keil编译不过的问题