查看class文件編譯版本(如何看class文件是哪個jdk版本編譯的)
如果不是16進制方式,則顯示為下圖的亂碼樣式此時需要點擊菜單上的切換為十六進制編輯模式如何查看class文件的jdk版本 只看第一行的數(shù)據(jù)1前面8個字節(jié)CA FE BA BE是固定的2隨后4個字節(jié)00 00是次版本號;隨便找到JAR包文件中的c某個class文件,看一下class文件的前面幾個16進制是多少,就可以知道編譯的JDK版本了 具體的JDK版本號對應的版本名稱可以查看 網(wǎng)頁鏈接 這篇文章;在你eclipse中裝一個java反編譯器就能查看,class文件的源代碼了。
查看class文件編譯的jdk版本步驟如下1首先打開cmd命令行窗口,輸入如下指令會輸出一些信息,大致如下Compiled from quotHtmlCrawerjavaquotpublic class extends SourceFile quotH;您好,提問者 這個唯一的辦法就是你安裝好幾個JDK版本,然后進行編譯成class文件;設(shè)置完成后,雙擊*class文件,eclipse將自動反編譯對于存在源代碼的類,它不會強行反編譯,也就是說它還是會用eclipse自帶的Class File Viewer查看class文件,手動設(shè)置WindowPreferencesJavaJadClipse,把Ignore existing。
怎么修改jar 里面的class文件?CSD好像只能查看class文件不能修改,我上網(wǎng)搜 有人說 eclipse 有插件的直接都可以看到反編譯后的東西 我們想看的是Java文件,當然網(wǎng)上有反編譯工具,但是為了一勞永逸,我們可以安裝jd;java文件通過編譯后會產(chǎn)生class文件,一般在同一個目錄下,但是如果用的工具編寫就不一定了,如果直接打開class就直接用記事本打開,但因為是編譯后的字節(jié)碼文件都是亂碼,如果想通過class查看編譯前的java文件,就去找個;查看class文件編譯的jdk版本步驟如下 首先打開cmd命令行窗口,輸入如下指令 會輸出一些信息,大致如下 Compiled from quotHtmlCrawerjavaquot public class extends SourceFile quotHtmlCrawer;使用UEUltra Edit打開class文件,切換到16進制模式,查看第1行 CA FE BA BE 00 00 00 3200 75 07 00 02 01 00 27 前8個字節(jié)CA FE BA BE 是固定的后面的4個字節(jié)00 00是次版本號次。
原因高版本的JDK生成的class文件使用的格式,可能與低版本的JDK的class文件格式不同1首先打開MyEclipse,在該頁面中,點擊打開主菜單中的Windows選項2然后在彈出來的窗口中點擊打開“Proferences”選項3然后在;二Optiono不提示,覆蓋源文件三Optionsc\java\jadsjavaexample1class反編譯結(jié)果以java為擴展名四Optionp將反編譯結(jié)果輸出到屏幕c\java\jadpexample1class將反編譯結(jié)果重定向到文件c\java\jad;class文件是java編譯后的文件,要是直接用記事本打開的話,通常都是一對亂碼,如果想要查看和編輯class文件的話,可以使用Java反編譯工具打開,比如jad等等,eclipse中就有一個jad反編譯插件與普通程序不同的是,class文件并。
一般來說,如果使用高版本jdk編譯之后的class文件,編譯的時候沒有帶source和targe參數(shù),再把class文件放到低版本環(huán)境下運行,會出現(xiàn)如圖所示的錯誤 Test Unsupported majorminor;這是不行的,高版本編譯的class文件,低版本是不認識的特別是代碼中使用了高版本才支持的新特征為了向低版本JVM兼容,通常是保證代碼中不適用高版本的特性,并且使用低版本JVM做最后編譯開發(fā)過程中可以使用高版本JVM。
使用javap反編譯class文件,命令為 javap c verbose class文件名生成的文件中可以看到這么兩句minor version 0major version 52 52便代表了是使用JDK8編譯出來的,JDK7是51,JDK6是50,以此類推。
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。