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命令就好了,可读性比较强
参考资料

如何查看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
  • 5371

JAR包的JDK版本查看与设置

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

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

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

查看jar的jdk版本

  • 2015年03月10日 10:48
  • 11KB
  • 下载

查看系统下JDK的版本方法

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

如何查看linux系统的jdk版本

如何查看linux系统的jdk版本 1.查找使用的jdk安装后的目录       echo $JAVA_HOME;     假设为:/opt/soft/java 2.进入到jdk安装目录下面的bin目...
  • lululove19870526
  • lululove19870526
  • 2017年04月13日 17:53
  • 10736

如何查看jdk的版本

在cmd中输入命令JAVA -version
  • sheliangliang
  • sheliangliang
  • 2015年12月08日 10:12
  • 109

怎么查看当前系统jdk版本

在windows环境下 1 系统键(win键)+R进入cmd 2 在cmd中输入命令java -version即可显示当前系统的jdk版本。 参考如下:...
  • wang_shuai_long
  • wang_shuai_long
  • 2017年05月07日 22:47
  • 512

linux 查看/修改jdk版本

linux 查看/修改jdk版本配置环境变量 vim /etc/profile 编辑profile文件在底部加入 JAVA_HOME=/usr/java/jdk1.8 PATH=$JAVA_...
  • forever_insist
  • forever_insist
  • 2017年09月10日 09:48
  • 3365

Java Class编译时使用的JDK版本查看

使用二进制查看class文件   版本对应关系 JDK 编译器版本 target 参数 十六进制 minor.major 十进制 minor.major jdk1.1.8 不能带 tar...
  • scorpio3k
  • scorpio3k
  • 2014年03月11日 15:03
  • 6677
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java如何查看jar编译的jdk版本
举报原因:
原因补充:

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