zoukankan      html  css  js  c++  java
  • 有关java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0

    时常会遇到java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0这样的异常,现在都知道是jdk版本的问题,高版本跑在低版本上就出现这样的问题,今天搜了下,总结下这个东西

    (1)随便打开个class文件

    minor_version 为 0x0000,major_version 为 0x0033,十进制分别是0和51,合起来major.minor 就是 51.0 了

    对于 JVM 来说,版本号确定了特定的 class 文件格式,通常只有给定主版本号和一系列次版本号后,JVM 才能够读取 class 文件。如果 class 文件的版本号超出了 JVM 所能处理的有效范围,JVM 将不会处理该 class 文件

    (2)也可以使用javap -verbose ***获取某个class文件的以上信息

    (3)最后列出从 JDK 1.1 到 JDK 1.7 编译器编译出的 class 的默认 minor.major version 

    JDK 编译器版本 target 参数 十六进制 minor.major 十进制 minor.major
    jdk1.1.8 不能带 target 参数 00 03   00 2D 45.3
    jdk1.2.2 不带(默认为 -target 1.1) 00 03   00 2D 45.3
    jdk1.2.2 -target 1.2 00 00   00 2E 46.0
    jdk1.3.1_19 不带(默认为 -target 1.1) 00 03   00 2D 45.3
    jdk1.3.1_19 -target 1.3 00 00   00 2F 47.0
    j2sdk1.4.2_10 不带(默认为 -target 1.2) 00 00   00 2E 46.0
    j2sdk1.4.2_10 -target 1.4 00 00   00 30 48.0
    jdk1.5.0_11 不带(默认为 -target 1.5) 00 00   00 31 49.0
    jdk1.5.0_11 -target 1.4 -source 1.4 00 00   00 30 48.0
    jdk1.6.0_01 不带(默认为 -target 1.6) 00 00   00 32 50.0
    jdk1.6.0_01 -target 1.5 00 00   00 31 49.0
    jdk1.6.0_01 -target 1.4 -source 1.4 00 00   00 30 48.0
    jdk1.7.0 不带(默认为 -target 1.6) 00 00   00 32 50.0
    jdk1.7.0 -target 1.7 00 00   00 33 51.0
    jdk1.7.0 -target 1.4 -source 1.4 00 00   00 30 48.0
    Apache Harmony 5.0M3 不带(默认为 -target 1.2) 00 00   00 2E 46.0
    Apache Harmony 5.0M3 -target 1.4 00 00   00 30 48.0

    下面的文章写的极详细

    参考文章:

    java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0的错误

  • 相关阅读:
    httpclient5:信任所有证书,调用公众号接口
    驾驶技能考试系统:常见故障原因分析及排除
    C#:Combox实现key,value
    C#:密码框的两种方式
    C#:动态添加或删除控件,并根据控件名称获得控件
    微服务设计模式
    微服务设计模式
    微服务设计模式
    微服务设计模式
    微服务设计模式
  • 原文地址:https://www.cnblogs.com/yhzh/p/5113601.html
Copyright © 2011-2022 走看看