当低版本IDE导入高版本IDE开发的JAVA项目时,可能会由于低版本IDE的java编译器对高版本JDK不支持,导致
成都创新互联是专业的兴平网站建设公司,兴平接单;提供成都网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行兴平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
项目运行报错: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开发平台的版本。