Posted on 2012-03-13 12:54
小白19870626 閱讀(4745)
評論(1) 編輯 收藏 所屬分類:
java
想直接在myeclipse中查看class文件,就像查看普通的java源文件一樣,通過以下步驟可以做到:
安裝設置步驟:
1. 從http://www.kpdus.com/jad.html 下載jadnt158.zip 。
2. 從http://jadclipse.sourceforge.net/ 下載net.sf.jadclipse_3.3.jar(對應eclipse3.3)
3. 將jadnt158.zip 解壓,拷貝jad.exe 到%JAVA_HOME%\bin\ 目錄下。
4. 安裝插件net.sf.jadclipse_3.3.jar (將此文件拷到eclipse 的plugins目錄(%eclipse_home%\plugins)下,例如C:\MyEclipse Enterprise Workbench 6.5GA\eclipse\plugins下)。
5. 設定路徑:進入Window -> Preferences -> Java -> JadClipse,Path to decomiler設置為jad.exe的絕對路徑,例如C:\j2sdk1.4.2\bin\jad.exe,Directory for temporary files設置為存放臨時文件的決對路徑這里我把它設置為C:\Documents and Settins\桌面\.net.sf.jadclipse 。
6. 在Eclipse 的Windows—> Perferences—>General->Editors->File Associations 中修改“*.class”默認關聯的編輯器為“JadClipse Class File Viewer”。如果沒有*.class,則點擊“add"增加,如果沒有jadclipse Class File Viewer,可以點擊“Add-Internal Editors”,查找是否有jadclipse,若還是沒有,則說明net.sf.jadclipse沒有復制到正確的位置.
安裝設置完畢,可以雙擊class文件,測試一下,正確的情況是:反編譯成功,可以顯示class文件(無需增加src源文件)為普通的java源代碼樣式,另外,在Myeclipse菜單欄上多出了一個JadClipse菜單.
現在可以通過myeclipse直接查看class文件,閱讀代碼效率高了許多~~~~~~
安裝時應注意:
jadclipse的版本一定要和eclipse的版本一致!
比如,我用的Myeclipse版本為6.5,其包含的eclipse版本為3.3,
一開始我使用的是net.sf.jadclipse_3.2.4.jar,都不能正確瀏覽無源碼的*.jar文件,后來我重新下載了net.sf.jadclipse_3.3.0.jar,才可以正確瀏覽!??!
總共需要下載兩個文件:
1. 反編譯工具jad
2. eclipse的插件JadClipse
jad是命令行式的反編譯程序,將class文件反編譯java操作的工具,如下說明幾個簡單的反編譯操作:
將當前文件夾下的abc.class文件反編譯成abc.jad文件
D:\jad>jad abc.class
將當前文件夾下的abc.class文件反編譯成abc.java文件
D:\jad>jad -sjava abc.class
jad可以單獨使用。
Jadclipse是eclipse中的一個插件,是用于在eclipse中雙擊*.class文件時直接查它的*.java代碼,相當于一個查看器,但不可以單獨使用。
可能出現的問題:
當我我們按F3 或者 雙擊打開 *.class 文件時, 出現 “Unmatched braces in the pattern” 這個錯
這個錯誤是語言包的問題。
解決方法:
出現 Unmatched braces in the pattern 異常, 由錯誤報告出現問題的
org.eclipse.jdt.internal.core.util.Messages 類, disassembler_opentypedeclaration 字段,
對應于語言包插件 plugins 目錄下的 org.eclipse.jdt.core.nl1_3.1.1.jar 包,
該包 org\eclipse\jdt\internal\core\util 目錄下的 messages_zh.properties 文件,
有段代碼為 disassembler_opentypedeclaration=\ \u201C{\u201D,
有的可能為 disassembler_opentypedeclaration=\ “{”,
同目錄下的其它語言文件這段代碼為 disassembler_opentypedeclaration=\ '{',
這可能是 Eclipse 在語言轉換時產生的錯誤. 修改代碼 \u201C{\u201D (或“{”) 為 '{'.
解壓 org.eclipse.jdt.core.nl1_3.1.1.jar, 修改 messages_zh.properties 文件,
再壓縮成 .zip 文件, 改擴展名為 .jar (或 jar 命令打包), 在Eclipse 關閉時替換原來的 jar 包 即可.
小白