小知識(class文件查看jdk版本,beyond,could not find setter)
阿新 • • 發佈:2018-08-31
背景 問題 字段 十進制 把他 nco nsh 文件查看 package
image.png
image.png
image.png
最近幾天工作當中遇到了一些問題,所以記錄下來。
1.如何查看class文件的sdk版本
2.beyond compare比對文件
3.Could not find setter for native_place on class com.tonmx.platform.bean.FaceView
報錯的解決方法
1.如何查看class文件的sdk版本
背景:目前公司環境比較多,有2個項目,A項目沒有代碼(只有已打好的war包,客戶用的),B項目是我的開發環境(有代碼).在B上改了一個接口,然後marven clean,marven install後,準備把打包後的class對應那接口文件閥蓋掉A項目。結果發現A和B項目當時編譯的jdk版本不對。要查看class文件用的是JDK多少,可以使用Editplus,打開後查看第一行的前8位
class文件查看jdk版本
1、事先編譯好一個class文件,如:TestVersion.class
2、使用UltraEdit或Editplus打開class文件,我這裏使用的editplus,如圖:
3、打開時Encoding選擇Hex viewer,以16進制方式顯示
4、打開文件的內容如下:
5、只看第一行數據,前面8個字節CA FE BA BE 是固定的,之後4個字節00 00 是次版本號,次版本號後面的4個字節00 33 是jdk的版本號,如我這裏使用的是jdk1.7
jdk版本號對應關系如下:
版本號
對應十進制
jdk版本號
2E 46 jdk1.2
2F 47 jdk1.3
30 48 jdk1.4
31 49 jdk1.5
32 50 jdk1.6
33 51 jdk1.7
34 52 jdk1.8
image.png
所以我編譯的是jdk 1.8
2.beyond compare比對工具
這款工具主要是一個比對軟件,你可以把他當做一個本地的git版本控制器使用,還是非常好用的。不過我用的是試用版,破解版目前還沒找到,親們找到發我一下,感激不盡。
beyond compare官網下載地址
image.png
在線比對工具
這個還比較好用,雖然功能沒本地軟件強大,但是他是網頁版,無需安裝
3.新建視圖後,在本地映射視圖上的字段後,報
Could not find setter for native_place on class com.tonmx.platform.bean.FaceView
image.png
小知識(class文件查看jdk版本,beyond,could not find setter)