有的朋友抱怨他們在使用他們公司的閉源框架時看不到底層的源代碼。那么可以嘗試使用一些Java反編譯工具。
下面我舉個例子介紹具體使用這些反編譯工具的步驟。
JAD
假設我們想在里查看第42行的源代碼:
直接ctrl加左鍵進去是看不見源碼的。
我們可以使用一個開源的工具JAD通過反編譯來查看其源代碼。JAD的wiki介紹: ()
有一個對應的插件,可以從如下這個鏈接下載:
#
1. 根據你使用的版本到上述鏈接里下載對應的插件。
2. 根據操作系統的類型下載反編譯器的執行文件。在我的系統上我下載的是JAD.exe。
3. 把JAD插件放到的文件夾。
4. 把JAD.exe放到JRE目錄的bin文件夾下面。
5. 重啟, 在菜單路徑->->Java里反編譯小程序源碼 本地數據庫,能看到一個新的選項。在這里我們把第四步放好的JAD.exe的絕對路徑維護給字段”Path to ”。
6. 現在選中一個class按F3反編譯小程序源碼 本地數據庫,即可看到JAD反編譯之后的Java源代碼。
JD-GUI
使用很方便,下就是一個可執行文件。
雙擊jd.exe, 然后把你想反編譯的.class文件拖進JD的窗口即可:
JD會自動反編譯并且把源代碼顯示出來:
通過Maven自動下載依賴包的源代碼
如果你的Java項目是通過Maven管理其依賴的,那么想查看依賴包的源代碼是一件非常容易的事情:
通過這個 的右鍵菜單,可以自動下載依賴包的源代碼文件。
例如我的Java項目的pom.xml里定義了cglib這個庫的依賴:
那么觸發源代碼文件的下載之后:
到我的本地倉庫根據包的路徑名或者文件夾修改時間能夠很容易找到剛剛下載的源代碼文件。