Unsupported major.minor version 51.0问题的原因与解决方法
2015-07-17 23:28
288 查看
问题描述:本地项目导成jar文件之后,放到服务器上运行,一直报“Unsupported major.minor version 51.0”的错误。
问题原因:jar文件编译时的java compiler比服务器上的1.6的jdk高
解决方法:eclipse中,java build path配置的jdk版本、java compiler中配置的compiler compliance level都和服务器上的jdk版本设置成一致,重新导jar文件即可。
说明:eclipse中,java build path配置的jdk版本,作用是开发的时候使用的jdk,就是你在eclipse中开发代码,可以导入哪个jdk版本里的类,如:使用jdk1.5就不能导入javax.annotation.Resource类,配置成1.6就可以import javax.annotation.Resource类;
java compiler compliance level中配置的编译版本,作用是*.java文件编译*.class文件使用的版本,导出的jar包的编译版本,如:将level设置成1.5,接口的实现的方法上面就不能加@Override注解,配置成1.6就能加@Override注解。上面的错误就是由于build
path中配置1.7的JDK,java compiler compliance level中配置的1.7,但是服务器上是1.6的JDK引起的,导致编译所用的jdk(1.7)比运行所用的jdk(1.6)高而报错。
问题原因:jar文件编译时的java compiler比服务器上的1.6的jdk高
解决方法:eclipse中,java build path配置的jdk版本、java compiler中配置的compiler compliance level都和服务器上的jdk版本设置成一致,重新导jar文件即可。
说明:eclipse中,java build path配置的jdk版本,作用是开发的时候使用的jdk,就是你在eclipse中开发代码,可以导入哪个jdk版本里的类,如:使用jdk1.5就不能导入javax.annotation.Resource类,配置成1.6就可以import javax.annotation.Resource类;
java compiler compliance level中配置的编译版本,作用是*.java文件编译*.class文件使用的版本,导出的jar包的编译版本,如:将level设置成1.5,接口的实现的方法上面就不能加@Override注解,配置成1.6就能加@Override注解。上面的错误就是由于build
path中配置1.7的JDK,java compiler compliance level中配置的1.7,但是服务器上是1.6的JDK引起的,导致编译所用的jdk(1.7)比运行所用的jdk(1.6)高而报错。
相关文章推荐
- ChinaVis2015 第一天会议
- qmake Command Reference
- GET和POST的区别
- [codeigniter 四]、模型和辅助函数
- Linux SSH 互信
- 【Leetcode】Valid Binary Search Tree
- DirectX11 创建顶点缓存
- Java中try-catch-finally的一点理解
- HDOJ 1016 Prime Ring Problem(dfs+回溯)
- xenserver
- 杭电ACM1069——Monkey and Banana~~动态规划
- 排序算法之快速排序
- jdk1.7新增的常用新特性
- Robot Framework-工具简介及入门使用
- 软件类笔试题整理
- xampp的安装和配置
- 安卓介绍(第一天)
- Java常用类源码探究(一):Object类
- 设计模式之职责链模式
- POJ 1840 Eqs 二分+map/hash