博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jar包对不同JDK版本的兼容性问题:Unsupported major.minor version 52.0
阅读量:4110 次
发布时间:2019-05-25

本文共 946 字,大约阅读时间需要 3 分钟。

Unsupported major.minor version 52.0 这类错误是因为Java版本不一致造成的,在高版本的JDK(1.8)环境中编译JAR包,然后JAR在低版本的JVM(1.6)中运行

The issue is because of Java version mismatch. Referring to the  :

  • J2SE 8 = 52
  • J2SE 7 = 51
  • J2SE 6.0 = 50
  • J2SE 5.0 = 49
  • JDK 1.4 = 48
  • JDK 1.3 = 47
  • JDK 1.2 = 46
  • JDK 1.1 = 45

These are the reported major numbers. The error regarding the unsupported major.minor version is because during compile time you are using a higher JDK and a lower JDK during runtime.

解决的方法


那么现在如果碰到这种问题该知道如何解决了吧,还会像我所见到有些兄弟那样,去找个 1.4 的 JDK 下载安装,然后用其重新编译所有的代码吗?其实大可不必如此费神,我们一定还记得 javac 还有个 -target 参数,对啦,可以继续使用 1.5 JDK,编译时带上参数 -target 1.4 -source 1.4 就 OK 啦,不过你一定要对哪些 API 是 1.5 JDK 加入进来的了如指掌,不然你的 class 文件拿到 JVM 1.4 下就会 method not found。目标 JVM 是 1.3 的话,编译选项就用 -target 1.3 -source 1.3 了。
其实这种方式挺不方便,因为你下载的Eclipse工具有可能不支持低版本的JSK

所以,最简单方式还是对 Eclipse 的项目属性的设置(项目右键 -> properties -> Java Compiler, 设置"Compeler compliance settings"为1.6),如图

参考:

1. http://sheng.iteye.com/blog/690035

你可能感兴趣的文章
less匹配模式
查看>>
【转】Setting up SDL 2 on Code::Blocks 12.11
查看>>
插入排序
查看>>
CORS跨域cookie传递
查看>>
卷积+池化+卷积+池化+全连接2
查看>>
Quest 公司的Shareplex 与 GoldenGate比较
查看>>
快速排序<C#>
查看>>
UVALive 6322 最大匹配...
查看>>
jsp:jstl标签forTokens
查看>>
关于四则运算程序的测试
查看>>
Jsp 中登陆界面的实现方法
查看>>
ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET
查看>>
php api接口校验规则示例
查看>>
Product Google的十大设计原则
查看>>
如何做html5山寨版愤怒的小鸟
查看>>
vue-cli3和ts建立vue项目
查看>>
设计模式
查看>>
php基础教程-输出Hello World
查看>>
RAID LVM ISCSI
查看>>
mysql报错
查看>>