ITPub博客

首页 > 应用开发 > Java > JAVA 编译器jdk版本与项目工程jdk版本不一致导致java.lang.NoSuchMethodError

JAVA 编译器jdk版本与项目工程jdk版本不一致导致java.lang.NoSuchMethodError

原创 Java 作者:清风艾艾 时间:2020-04-26 15:55:34 0 删除 编辑

    当低版本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开发平台的版本。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29357786/viewspace-2688496/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
个人喜欢IT行业,目前从事数据库工作,包括Oracle、mysql、mongodb、sqlserver等数据库的维护,喜欢专研开发技术,尤其对java程序的开发感兴趣。工作经历上,在中国联通系统集成公司、中公网医疗信息技术有限公司做过数据库技术支持;目前在海量数据,负责华东区oracle、mysql、mongodb的维护工作。

注册时间:2015-01-30

  • 博文量
    251
  • 访问量
    544805