① 如何查看jar包的編譯版本
隨便找到JAR包文件中的c某個class文件,看一下class文件的前面幾個16進制是多少,就可以知道編譯的JDK版本了 具體的JDK版本號對應的版本名稱可以查看網頁鏈接這篇文章
② 檢查class文件的編譯版本
用maven做項目依賴管理,依賴了一個其他組開發的一個基礎包。結果,在使用maven進行編譯打包的時候,報了錯: Unsupported major.minor version 51.0。
註:我本機上目前只安裝了 jdk 1.8
使用Eclispse自帶的工具,即使看不到源碼,也還可以看到該class當時編譯器的版本。
如果沒有eclipse,也可以使用java自帶的工具,查看 class的編譯器版本號。
或者
我們可以看一下 jdk版本和major version對應關系:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
由此,可以說明 ,依賴的jar包是經過jdk1.7 的編譯器進行編譯的。
③ 如何獲取jar包的jdk版本號
1,通過class文件
將編譯出來的class文件拖入到eclipse下,如:
可以看到,版本號為1.5
2,javap命令查看
javap MediaManager -verbose > majorver.txt
其中MediaManager為類名,將版本信息輸出到majorver.txt,版本信息如下:
可以看到jdk版本為47。major version和jdk版本對應關系如下:
Major version Java
46 Java 1.2
47 Java 1.3
48 Java 1.4
49 Java 5
50 Java 6
51 Java 7
jar的版本號必須和虛擬機相對應,否則會出現版本不支持的錯誤。
④ 如何查看Class文件編譯的JDK版本
查看class文件編譯的jdk版本步驟如下:
首先打開cmd命令行窗口,輸入如下指令: