java如何查看jar编译的jdk版本

原创 2017年08月15日 22:54:10

方法一、javap命令

javap命令可以用于反编译java class文件。查看jar包的编译版本首先是将jar包解压,然后再选择其中一个class文件,查看major版本号
Java 1.2 uses major version 46
Java 1.3 uses major version 47
Java 1.4 uses major version 48
Java 5 uses major version 49
Java 6 uses major version 50
Java 7 uses major version 51
Java 8 uses major version 52
Java 9 uses major version 53

1. linux终端命令
$ javap -verbose MyClass | grep "major"

2. windows终端命令
$ javap -verbose MyClass | findstr "major"
public class Test {
	@Override
	public String toString() {
		return "I'm class of Test";
	}
}
a)编译测试1.6
$ javac -source 1.6 -target 1.6 Test.java
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning

$ javap -verbose Test.class | grep 'major'
major version: 50

b)编译测试1.8
$javac -source 1.8 -target 1.8 Test.java
$ javap -verbose Test.class | grep 'major'
major version: 52

方法二、根据class文件结构直接查看二进制码

class文件的二进制布局如下:
占位大小(byte字节) 说明 备注
4 魔法数字,一般用来标识改文件为class文件 CAFEBABE固定值
2 较小版本的使用,可是值一直为00 本人还没明白意义
2 class主要支持的格式版本  
     
java1.6编译的

java1.8编译的class文件

总结

一般只需要用javap命令就好了,可读性比较强
参考资料
http://en.wikipedia.org/wiki/Java_class_file
https://stackoverflow.com/questions/1096148/how-to-check-the-jdk-version-used-to-compile-a-class-file

怎么知道Java class文件JDK编译的版本号

首先用一些二进制查看器打开class文件,比如od或者hexdump工具。 od -x hello.class 或者 hexdump hello.class 我们会看到类似于下面的输出: feca...

JAR包的JDK版本查看与设置

如何查看.jar包的JDK版本,如何设置eclipse生成.jar包的JDK版本如果没有这个字段,就必须通过下面一种方法来查看通过反编译.class文件来查看解压...
  • ybdesire
  • ybdesire
  • 2016年03月17日 20:10
  • 12276

如何查看一个jar文件是用什么版本jdk编译的?

有一种稍微麻烦的办法,可以试试 在jar包中,用winrar解压一个类文件,然后在命令行下面输入 javap -verbose classname 会输出一些信息,大致如下: Compil...

查看系统下JDK的版本方法

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。 深蓝的blog:   (1)WINDOWS环境下 实验环境:WIN7 64bit 操作指令:cmd...

如何查看jar包的jdk版本

查看.jar包中的META-INF\MANIFEST.MF 用7-zip打开.jar包,查看META-INF\MANIFEST.MF中的内容,Build-Jdk属性就是JDK的版本,比如: B...
  • ecjtuhq
  • ecjtuhq
  • 2016年12月20日 23:33
  • 4592

Java运行过程中判断JDK版本

很简单 public class JdkVersion { private static final String javaVersion; private sta...
  • alanzyy
  • alanzyy
  • 2014年11月21日 11:33
  • 6740

如何查看linux系统的jdk版本

如何查看linux系统的jdk版本 1.查找使用的jdk安装后的目录       echo $JAVA_HOME;     假设为:/opt/soft/java 2.进入到jdk安装目录下面的bin目...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

如何快速配好java环境变量和查看电脑上安装JDK的版本位数

今天一个新手在群里问自己的Eclipse打不开,然后我是属于那种热心肠的人,一般自己知道的就会告诉他们,看了下,是环境变量没有配好,反正我觉得配环境比较简单,现在就教大家简单的环境变量配法path -...

用java -X 命令查看JVM的配置说明:

用java -X 命令查看JVM的配置说明:     -Xmixed           混合模式执行 (默认)     -Xint             仅解释模式执行     -Xboot...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java如何查看jar编译的jdk版本
举报原因:
原因补充:

(最多只允许输入30个字)