java 51错误_java错误:Unsupported major.minor version 51.0

在搭框架过程中,遇到了问题:javax.servlet.ApplicationContext Unsupported major.minor version 51.0.

解决方法:

将下面依赖

javax

javaee-api

7.0

改为

javax

javaee-api

6.0

原理:

不同的JDK版本使用的 major.minor version(主次版本号) 不同,所以会导致这个错误。

JavaSE 8 = 52 (0x34 hex),

JavaSE 7 = 51 (0x33 hex),

JavaSE 6 = 50 (0x32 hex),

JavaSE 5 = 49 (0x31 hex),

J2SE 1.4 = 48 (0x30 hex),

J2SE 1.3 = 47 (0x2F hex),

J2SE 1.2 = 46 (0x2E hex),

J2SE 1.1 = 45 (0x2D hex)

在项目中要编译和运行Java程序的 JDK(JRE)版本要一致,一般把在高版本(比如 JDK7)编译的 class 放到低版本(比如 JRE6)的 JVM 中运行,会出现你上面的错误。

追问:

青不要复制,我的都是1.6的

追答:

亲,除了那些版本号,其他的我没有复制。

你看一下你使用的第三方库有没有是在 JDK6 之前的版本编译的

追问:

十分感谢!!!!

我运行的是crawler4j爬虫的例子,提示

edu/uci/ics/crawler4j/crawler/CrawlConfig : Unsupported major.minor version 51.0

引用了crawler4j等一些包。但要怎么看这些是什么版本编译的呢。

追答:

把这个 jar 解压一下,看一下 META-INF/MANIFEST.MF,里面会有这个信息的。

比如我找的jsoup 的 jar:

0818b9ca8b590ca3270a3433284dd417.png

你就可以看到这个版本的构建的 JDK 版本是 1.8.0_25(JDK8)。

追问:

Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Created-By: Apache Maven

Built-By: yaganjis

Build-Jdk: 1.7.0_13

追答:

很明显啊,你的 Build-JDK 是 1.7.0_13,但是你的运行环境却是 JDK6(比编译环境低啊,注意看下我的评论,我上面说错了一个地方,然后再评论修改了)。所以你应该选用更早版本的 crawler4j 或者升级你的 JDK 才可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值