一个java的class文件是一个二进制文件,其中前四个字节是magic位,第五到第六个字节对应于minor和major,下面是这个类文件版本与JDK的对应关系:
jdk | minor | major |
1.0 | 45 | 3 |
1.1 | 45 | 3 |
1.2 | 46 | 0 |
1.3 | 47 | 0 |
1.4 | 48 | 0 |
1.5 | 49 | 0 |
1.6 | 50 | 0 |
1.7 | 51 | 0 |
所以当见到类似如下的错误时就应该知道问题出在哪里了:
错误的类文件: ...\jetty-util-8.0.4.v20111024.jar(org/eclipse/jetty/util/TypeUtil.class)
类文件具有错误的版本 50.0,应为 49.0
注:这个错误是提示你应该使用jdk1.6而不是jdk1.5。
小技巧,在class文件所在目录,可以使用javap命令查看版本号
如:javap -verbose AGateway,会显示以下内容,找到major version:
public abstract class org.smslib.AGateway extends java.lang.Object
SourceFile: "AGateway.java"
InnerClass:
#56= #29 of #54; //QueueManager=class org/smslib/AGateway$QueueManager of class org/smslib/AGateway
#58= #10 of #54; //Statistics=class org/smslib/AGateway$Statistics of class org/smslib/AGateway
public #60= #59 of #54; //GatewayAttributes=class org/smslib/AGateway$GatewayAttributes of class org/smslib/AGateway
public final #62= #61 of #54; //AsyncEvents=class org/smslib/AGateway$AsyncEvents of class org/smslib/AGateway
public final #64= #63 of #54; //GatewayStatuses=class org/smslib/AGateway$GatewayStatuses of class org/smslib/AGateway
public final #66= #65 of #54; //Protocols=class org/smslib/AGateway$Protocols of class org/smslib/AGateway
public final #136= #135 of #266; //MessageClasses=class org/smslib/InboundMessage$MessageClasses of class org/smslib/Inbo
undMessage
public final #170= #169 of #269; //DeliveryStatuses=class org/smslib/StatusReportMessage$DeliveryStatuses of class org/sm
slib/StatusReportMessage
minor version: 0
major version: 51
Constant pool:
......
相关推荐
这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家
class识别jdk版本 jdk版本 class识别jdk版本 jdk版本
Java JDK 11.0.8 版本,包含了 windows 和 mac os 的安装包程序,非解压版本
ojdbc7.jar:支持JDK7、JDK8,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持。 ojdbc6.jar:支持JDK6,支持JDBC 4.0,新的java.sql.SQLXML类型没有被支持。 ojdbc5.jar:全面支持使用JDK5 和 JDBC 3.0 。
jdk-8u151-linux-x64.tar.gz 【官方jdk1.8、jdk8,linux版】。
1.下载两个jar包 1.bcprov-ext-jdk15on-1.54.jar 2.bcprov-jdk15on-1.54.jar ... 2.将下载的两个JAR文件复制到:JDK安装目录\jre\...3.打开java.security文件:在JDK安装目录\jre\lib\security下的java.security文件。
jdk1.8编译类文件反编译工具。使用方式:java -jar procyon-decompiler-0.5.30.jar ***.class -o c:\**
jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_linux-x64_bin.tar.gz文件 jdk-11.0.19_...
安装完JDK后,会在%JAVA_HOME% /jdk文件夹下生成一个src.zip,此文件夹对应rt.jar中的java源码,但细心研究后发现rt.jar中sun包下的文件不存在,也就是说sun包下的java源码并没有打包到src.zip中。这个是jdk7u9版本...
Java 17是一款十分专业的编程工具,主要应用于web网页的开发、Android的开发、客户端的开发等等,对于开发人员来说,Java基本等于了JDK。而在新的版本中,进行了一些功能增强,有需要的小伙伴们快来下载体验吧! ...
MQ各个版本与java JDK各个版本和IBM jar包各个版本的混合测试结果。以及对不同通道SSL加密套件的支持。
Java Development Kit (64bit) v11 11.0.12
jdk9全版本 java9 Jdk9.zip
JDK版本与JDBC版本的关系: Many other versions of the JDBC driver are available. This includes development versions, compatibility with older JDKs, and previous versions of the driver.
Java jdk-1.6.43 版本的part1
该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8u361-linux-i586.tar.gz jdk-8u361-...
jdk8文件【版本号jdk1.8.0_151】
只需要1积分 tools-1.8.0.jar maven 项目缺少或报相关jdk-tools相关的错 冰蝎的java版本缺少tools.jar无法运行,需要此jar包
java JDK1.8.60-jdk-8u60-windows-x64,java JDK1.8.60-jdk-8u60-windows-x64,java JDK1.8.60-jdk-8u60-windows-x64
资源包括:java JDK 1.7版本下载及官方文档API,java JDK 1.8版本下载及官方文档API,java JDK 1.9版本下载及官方文档API。