当低版本IDE导入高版本IDE开发的JAVA项目时,可能会由于低版本IDE的java编译器对高版本JDK不支持,导致
项目运行报错:java.lang.NoSuchMethodError。
具体报错信息如下示例:
[19:16:21:675] [INFO] - cn....TaskJob.cleanInvalidMonitorData(Call...TaskJob.java:127)
Exception in thread "Thread-4003" java.lang.NoSuchMethodError: cn....Task.access$000(Lcn/com/.../...Task;)Ljava/util/Map;
at cn.....task....Task$Run...Task.run(...Task.java:231)
at java.lang.Thread.run(Thread.java:748)
导致项目运行报错的具体原因是:
IDE,例如MyEclipse,windows-->preferences-->Java-->Compiler-->Compiler compliance level-->JDK 1.8
项目中的jdk版本查看:右键-->BuildPath-->Configure Build Path-->Order and Export-->JDK 1.6
由上图所示,是项目中的JDK版本与JAVA编译器的版本不一致,导致项目运行报错:java.lang.NoSuchMethodError
解决方法很简单,需要将IDE的JAVA编译器版本修改为项目JDK版本,或者升级项目的JDK版本亦可,需要注意的是
低版本不支持高版本的java编译器,如果必须升级Java 编译器,则必须升级IDE开发平台的版本。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。