文档章节

Unsupported major.minor version (jdk版本错误)解决方案

J
 JackMo2015
发布于 2016/12/01 14:45
字数 842
阅读 12
收藏 0

如果你遇到了 Unsupported major.minor version ,请认真看一下,说不定会有帮助。 
我花两个小时总结的经验,你可能10分钟就得到了。 ^**^

一、错误现象:

当改变了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 】


(3)点右侧 Add Library 弹出对话框,选中jdk1.5的条目,我这里显示的是 JRE System Library 然后点击next。 【 图 4 】


(4) 在第三步弹出的对话框上,激活 Alternate JRE 选项,并在下拉列表中,选择 jdk1.5 然后点Finish。【 图 5 】


(5)在第四步完成后,从Libraries 选项卡切换到 Order and Export 选项卡,并在jar列表中选中 JRE System Library[jdk1.5] 然后 点 ok完成设置。【 图 6 】


(6)如果你的Eclipse设置成了自动编译,应该就可以了,否则重新编译一下。


五、总结

根本原因还是开发环境中 jdk 环境变量的设置。
其实在我解决的过程中还有个细节给我带来了麻烦——就是我用了MyEclipse插件,它自带个jdk1.4 所以如果你也安装了myEclipse插件,最好别用myEclipse的jdk(它带很多额外包,调试过程没问题,结果发布后会有少jar包的可能),要用自己安装的。

我遇到的问题我解决了,不知你解决了没有。

本文转载自:https://www.oschina.net/question/207494_84715

共有 人打赏支持
J
粉丝 3
博文 125
码字总数 39521
作品 0
广州
高级程序员
Unsupported major.minor version (jdk版本错误)解决方案 办法

如果你遇到了 Unsupported major.minor version ,请认真看一下,说不定会有帮助。 我花两个小时总结的经验,你可能10分钟就得到了。 ^**^ 一、错误现象: 当改变了jdk版本时,在编译java时,...

哈全文
2012/12/25
111.7K
6
Unsupported major.minor version

这种错误先效验一下自己的版本是否对应,如果版本对应正确就是JDK版本过低需升级对应版本; 48,49,50, 51 , 52是Java编译器内部的版本号: Unsupported major.minor version 52.0 对应于 JD...

cheves
2016/05/06
18
0
jenkins产生503错误的解决方法

出现错误的log(ubuntu系统下目录路径为"/var/log/jenkins/jenkins.log"): java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties : Unsupported major.minor version ......

积木oooooo
06/29
0
0
Unsupported major.minor version 51.0解决办法

最近新安装使用了jdk7,编译了一些类替换到原来正常运行的项目中,替换之后发生了Unsupported major.minor version 51.0错误。经过网上搜索发现了问题产生的原因:用jdk7编译的class文件放到...

JackMo2015
2016/12/01
4
0
Tomcat Unsupported major.minor version 52.0错误

Unsupported major.minor version 52.0: 看到Unsupported你是不是会想到jdk高版本能兼容低版本,但是低版本不能兼容高版本,不错,猜对了,其实就是这个意思。这个错误意思是你项目用JDK1.8运...

潜心笃志
03/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

nginx模块学习六 add_header 跨域访问

语法 Syntax: add_header name value [always];Default: --Context:http,server,location,if in location 例:/etc/nginx/conf.d/default.conf server {    listen       80; ......

Romanceling
今天
0
0
SpringBoot初探

#SpringBoot初探 三种创建SpringBoot项目的方式: 第一种:使用IDEA创建maven项目,选择maven-archetype-quickstart; 第二种:使用IDEA创建Spring Initializer,选择web组件; 第三种:使用...

向码而生
今天
2
0
IO

JAVA中IO技术:BIO、NIO、AIO 1、同步异步、阻塞非阻塞概念 同步和异步是针对应用程序和内核的交互而言的。 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方...

DemonsI
今天
0
0
org.apache.commons 常用工具类

一. org.apache.commons.io.IOUtils closeQuietly 关闭一个IO流、socket、或者selector且不抛出异常。通常放在finally块。 toString 转换IO流、 Uri、 byte[]为String。 copy IO流数据复制,...

sprouting
今天
0
0
linux使用Inotify监控目录或者文件状态变更

基本概念: Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。 需求: 1.有一个文件采集进程,...

mickelfeng
今天
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部