第04篇 JDK版本导致Unsupported major.minor version 52.0 error

时间:2023-03-09 19:26:45
第04篇 JDK版本导致Unsupported major.minor version 52.0 error

第04篇 JDK版本导致Unsupported major.minor version 52.0 error

一直以来,想改变一些自己早已经习惯的事情。

感谢吕希德同学,让我又解决了一个问题!

出现问题原因-->>分析 { JDK版本不一致的问题 }

  • 在eclipse中开发的项目有个Java build path中可以配置的JDK
  • java compiler中可以配置compiler level{eclipse>windows>preferences>java>compiler>compiler compliance level}

两个是有区别的:

  • build path的JDK版本是你开发的时候编译器需要使用到的,就是你在eclipse中开发代码,给你提示报错的,编译的过程;
  • java compiler compliance level中配置的编译版本号,这个编译版本号的作用是,你这个项目将来开发完毕之后,要放到服务器上运行,那个服务器上JDK的运行版本。

问题就是,build path中配置1.7的JDK,java compiler compliance level中配置的1.7,但是程序运行需要的是1.8的JDK,就报了那个错误,反之亦然。

build path的JDK版本是你开发的时候编译器需要使用到的,例如用的JDK1.4就不能使用泛型。而java compiler compliance level设置的是你写好的JAVA代码按照什么JDK版本级别编译,例如:设置的是1.4,编译出来的class文件可以在1.4以上的JRE上运行,如果用的是5.0级别编译,就不能运行在1.4的环境里面。

在eclipse中进行开发的时候,build path 中JDK进行类库的编译(就是你使用类在不在这个JDK中),java compiler compliance level是对这个项目语法的编译(就是你的项目中语法的正确与否),在开发的过程中,这两个地方是都起作用的。所以说,build path 和 java complier compliance level和服务器配置的JDK保持一致,就不会出现任何问题的

stanford parser和jdk版本对应关系

J2SE 8 = 52,

J2SE 7 = 51,

J2SE 6.0 = 50,

J2SE 5.0 = 49,

JDK 1.4 = 48,

JDK 1.3 = 47,

JDK 1.2 = 46,

JDK 1.1 = 45

参考文档
http://*.com/questions/10382929/unsupported-major-minor-version-51-0

胖先生-->>解决方案

调整jdk版本一致:

eclipse>windows>preferences>java>compiler>compiler compliance level 1.8

你的项目右键>properties>java compiler>1.8

{若安装完jdk1.8后还有错误JavaSE-1.8(unbounded),就点击下面的错误提示,修改JDK路径(eg.E:\java-tools\Java\JDK8\JDK1.8.0_92)}

吕希德遇到的问题

今天是,胖先生的学生出现了问题,因为我的JDK版本是1.8,而他们使用的1.7,那么各位同学就需要做如下修改
首先,更改为本地的JDK版本,

再次,看看你的是不是 eclipse>windows>preferences>java>compiler>compiler compliance level 1.7 ,如果是的话

最后,修改你的项目,项目右键>properties>java compiler>1.7

跟你本地的保持一致即可