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

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

猜你喜欢

转载自blog.csdn.net/www_xue_xi/article/details/105770670
今日推荐