最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

环球新资讯: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. 再次编译项目,问题解决。

关键词: 问题解决 可执行文件 运行环境