当前位置:   article > 正文

java:javap查看class文件的JDK版本塈JDK版本与major version(45~55)的对照表_java version 55

java version 55

运行 Java 应用程序时,JRE 版本必须与用于编译应用程序的 JDK 版本匹配或更高。
当尝试使用较低版本的 Java 运行高版本 JDK编译的应用程序时,就会抛出UnsupportedClassVersionError异常。

java.lang.UnsupportedClassVersionError: org/antlr/v4/Tool has been compiled by a 
more recent version of the Java Runtime (class file version 55.0), this version 
of the Java Runtime only recognizes class file versions up to 52.0
  • 1
  • 2
  • 3

在本文中,我们将介绍如何通过JDK工具检查class的 JDK 版本。

Java版本号与major version

Java 在类文件中使用两位数字定义主版本号(major version)。以下是 Java 版本与major version的对照表:

JDKmajor version
Java 1.145
Java 1.246
Java 1.347
Java 1.448
Java 5(1.5)49
Java 6(1.6)50
Java 7(1.7)51
Java 852
Java 953
Java 1054
Java 1155

javap 查看major version

JDK提供的工具javap可以获取一个类(.class)文件的各种详细信息,也包括class中定义的major version

下面是个简单的HelloWorld.java程序

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello world!!");
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5

JDK编译后生成HelloWorld.class,就可以用javap查看生成的class中的major version

Linux:

javap -v HelloWorld.class | grep major
  • 1

Windows:

javap -v HelloWorld.class | findstr major
  • 1

如果你希望查看一个jar中的类的major version.
antlr-4.11.1-complete.jar 为例
Linux:

javap -v -cp /path/antlr-4.11.1-complete.jar org.antlr.v4.Tool | grep major
  • 1

Windows:

javap -v -cp /path/antlr-4.11.1-complete.jar org.antlr.v4.Tool | findstr major
  • 1

-cp 即-classpath, 指定查找类文件的位置
org.antlr.v4.Tool 即为antlr-4.11.1-complete.jar中的一个类的完整名称

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/486010
推荐阅读
相关标签
  

闽ICP备14008679号