从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0
2016-05-01 11:59
507 查看
java.lang.UnsupportedClassVersionError: PR/Sort: Unsupported major.minor version 52.0这个错误是由于高版本的javaproject使用了低版本的来运行。
出现这个情况是把Properties中java buildpath-->Libraries中的JVM8换成JVM7之后运行就报错了
解决方法:
在Properties-->JAVACompiler-中的Compiler compliancelevel从1.8改成1.7,之后就可以运行了
出现这个情况是把Properties中java buildpath-->Libraries中的JVM8换成JVM7之后运行就报错了
解决方法:
在Properties-->JAVACompiler-中的Compiler compliancelevel从1.8改成1.7,之后就可以运行了
如果上述还不能解决问题就按下面的操作处理吧. 一、错误现象: 当改变了jdk版本时,在编译java时,会遇到Unsupported major.minor version错误。 错误信息如下 : Unsupported major.minor version 50.0 Unsupported major.minor version 49.0 (我在jdk1.4 和1.5切换时就遇到了这个错误) Unsupported major.minor version 48.0 二、错误原因: 类似错误均属于Java版本问题,即JDK版本过低,只要选择相对应的JDK版本编译即可。 48,49,50是Java编译器内部的版本号: Unsupported major.minor version 50.0 对应于 JDK1.6(JRE1.6) Unsupported major.minor version 49.0 对应于 JDK1.5(JRE1.5) Unsupported major.minor version 48.0 对应于 JDK1.4(JRE1.4) 三、出错过程: 我先描述一下我出错的过程,这样方便大家解决问题。 我用的是eclipse,在windows下调试的,是从jkd1.4升级到1.5后出现了该错误。 我是这么升级到1.5的: (1)把在系统环境变量中把jdk的版本升级到了1.5,并在命令提示符下用 java -version 显示了一下jdk版本,是1.5的。 (2)在eclipse中 Window -> Preferences -> Java -> Compiler 然后在右侧窗口中,有个 Compiler compiance level: 就是指定jdk的版本,原来是1.4 ,现在选择5.0也就是jdk1.5。确定时弹出个对话框,提示改变了jdk版本,是否要立刻重新编译。点yes。eclipse会重新编译。【 图 1 】 (3)Project -> Properties -> Java Compiler 右侧窗口也有个 Compiler compiance level: 原来是1.4把它也改成5.0的。也会弹出对话框,同样选yes。【 图 2 】 (4)写了个Test类,执行是出现了错误: java.lang.UnsupportedClassVersionError: (Unsupported major.minor version 49.0) (5)我重启eclipse问题依旧 至此,出错过程描述完毕。 四、解决办法: 仅仅按照网上说的设置JAVA_HOME 等方案是不能解决问题的。 下面是我的解决办法: 既然环境变量中和eclipse中都设置了jdk1.5的版本,为何还报错呢。 肯定是哪个地方还有设置。 (1)Project -> Properties ->Java Build Path 右侧窗口 -> Libraries 在列表里显示的竟然还是jdk1.4(是myEclipse5自带的。) 。 (2)将jdk1.4相关条目选中,然后点右侧按钮 Remove ,将jdk1.4删除。 (3)点右侧 Add Library 弹出对话框,选中jdk1.5的条目,我这里显示的是 JRE System Library 然后点击next。 (4) 在第三步弹出的对话框上,激活 Alternate JRE 选项,并在下拉列表中,选择 jdk1.5 然后点Finish。 (5)在第四步完成后,从Libraries 选项卡切换到 Order and Export 选项卡,并在jar列表中选中 JRE System Library[jdk1.5] 然后 点 ok完成设置。 (6)如果你的Eclipse设置成了自动编译,应该就可以了,否则重新编译一下。 五、总结 根本原因还是开发环境中 jdk 环境变量的设置。 其实在我解决的过程中还有个细节给我带来了麻烦——就是我用了MyEclipse插件,它自带个jdk1.4 所以如果你也安装了myEclipse插件,最好别用myEclipse的jdk(它带很多额外包,调试过程没问题,结果发布后会有少jar包的可能),要用自己安装的。
相关文章推荐
- [Java视频笔记]day10(待完善)
- java之Collection接口
- java中instanceof用法
- 利用java自动生成验证码
- eclipse如何卸载插件
- Java核心知识点-NIO
- java MD5 加密
- JAVA设计模式之单例模式:内部静态类
- J2EE环境搭建(二)安装Eclipse插件和第一个Eclipse项目
- 75、myeclipse配置jdk
- MyEclipse中输入变量名自动出现String
- 深入理解Java内存模型——重排序
- JAVA设计模式之单例模式
- 破解MyEclipse的方法
- Java 泛型小结
- ThreadPoolExecutor 官方使用说明
- Java工程师成神之路
- 简单弄懂javasript 闭包
- java,System.getProperty()方法可以获取的值
- javaWeb三层结构之表现层(MVC)