解决Unsupported major.minor version 51.0问题的感悟

今天偶然间同事遇到一个问题,也加深了自己对eclipse中build path和java compiler compliance level的理解。
           问题是这样的,同事在eclipse中开发的项目,导成jar之后,放到服务器上,总是报“Unsupported major.minor version 51.0”的错误,从网上查,一直说是JDK的问题,但是就不是很清楚怎么回事,怎么解决,最后,经过另一个同事,终于解决了,也使我终于明白了问题的来龙去脉:在eclipse中开发的项目有个java build path中可以配置的jdk,还有个java compiler中可以配置compiler level,这两个是有区别的,build path的JDK版本是你开发的时候编译器需要使用到的,就是你在eclipse中开发代码,给你提示报错的,编译的过程;java compiler compliance level中配置的编译版本号,这个编译版本号的作用是,你这个项目将来开发完毕之后,要放到服务器上运行,那个服务器上JDK的运行版本。同事的问题就是,build path中配置1.7的JDK,java compiler compliance level中配置的1.7,但是服务器上是1.6的JDK,就报了那个错误,说是编译所用的jdk(1.7)比运行所用的jdk(1.6)高了,这是错误的。
       总结: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都保持一致,就不会出现任何问题的。

时间: 2024-08-01 14:25:37

解决Unsupported major.minor version 51.0问题的感悟的相关文章

解决Unsupported major.minor version 51.0错误

Unsupported major.minor version 51.0解决办法 www.111cn.net 编辑:swteen 来源:转载 我使用的是Eclipse-jee-indigo + JDK 1.6.23环境,结果使用时出现Unsupported major.minor version 51.0错误提示,下面我来介绍Unsupported major.minor version 51.0错误的解决办法 今天偶然间同事遇到一个问题,也加深了自己对eclipse中build path和ja

应用部署weblogic 报错Unsupported major.minor version 51.0的解决过程

应用部署weblogic 报错Unsupported major.minor version 51.0的解决过程 ? ? 1.部署提示错误:Unsupported major.minor version 51.0 1.1 错误现象如下图所示: 1.2 原因分析 类似错误均属于Java版本问题,即JDK版本过低,只要选择相对应的JDK版本编译即可.48,49,50.51.52是Java编译器内部的版本号:Unsupported major.minor version 52.0 对应于 JDK1.8

Elasticsearch 安装的时候,Unsupported major.minor version 51.0问题的解决

Elasticsearch安装的时候报错 bootstrap/Elasticsearch : Unsupported major.minor version 51.0 网上一般说的方法是,升级或者降级jdk版本,我用了还是没有解决(我jdk原来是1.6 后来升级到1.8). 其实增加环境变量ES_HEAP_SIZE,值为:256m(或者512m),要带m,不是纯数字.这是分配最大和最小的存储容量. 主要是网上的安装文章通常是告诉你配置jdk 然后直接运行,但是没有设置这个变量导致的. 具体可以参

Unsupported major.minor version 51.0错误解决

今天在做中文分词,遇到很多问题,真是困难重重,而且是让人哭笑不得的问题,觉累不爱了...下面和大家分享一下吧! 一:引入jar包 下载了jar包到桌面了,然后我就复制粘贴到了项目中,但是在类中死活无法import jar包中的类,当时是一头雾水, 于是切到桌面看了一下jar包发现才200多k,豁然开朗!!!!,尼玛,jar包下载失败了,里面的类没下载下来(我去TM的下载失败你还显示在桌面上干嘛!!我TM以为下载成功了呢)希望大家引以为戒,浪费生命呀!!! 二:Unsupported major.

Unsupported major.minor version 51.0问题的解决

在java编程的过程中,当用myeclipse软件打开别人写的代码时,遇到Unsupported major.minor version 51.0此类问题,实在是令人痛苦不堪,弄了整整一晚才搞清楚,我总结它的原因是我们安装的myeclipse的编译和运行环境的版本比我们要打开的代码的低好多,与我们安装的jdk版本不符,因此我们要配置myeclipse软件的编译和运行配,步骤如下, 1. 打开window中的preferences,如下图所示,点击add,点击next,进入到最后一张图片中,选择我

Unsupported major.minor version 51.0 错误解决方案

Unsupported major.minor version 51.0 错误解决方案 栏目:Eclipse大师 作者:admin 日期:2015-04-08 评论:0 点击: 13,299 次 jdk1.6工程中使用外部jar包中类出现:Unsupported major.minor version 51.0原因分析:出现上述错误是因为:外部jar包使用jdk1.7(jdk7)编译,而使用此jar包的工程jdk版本为jdk1.6(jdk6),算是版本不支持. 解决方法见下面的步骤: 第一步:在

异常:Unsupported major.minor version 51.0

Unsupported major.minor version 51.0错误提示 原因:在jdk6环境下部署,编译时却是jdk7 解决:项目------>右键------>属性------>Java Compiler------>Compiler Compliance Level------>JDK版本------>应用 以及project  facets------->java 选择版本

转 Nexus启动报错:Unsupported major.minor version 51.0

转:http://www.th7.cn/Program/java/201408/269316.shtml Nexus启动报错: Unsupported major.minor version 51.0 1.遇到问题 今天搭建Nexus私服,出现了以前没遇到过的错误. a).采用console-nexus.bat开启报错: wrapper| --> Wrapper Started as Consolewrapper| Launching a JVM...jvm 1| java.lang.Unsup

java错误:Unsupported major.minor version 51.0

在搭框架过程中,遇到了问题:javax.servlet.ApplicationContext Unsupported major.minor version 51.0. 解决方法: 将下面依赖 <dependency>   <groupId>javax</groupId>   <artifactId>javaee-api</artifactId>   <version>7.0</version> </dependen