有時候我們需要對java源碼進行調試,通常可以關聯它對應jar包的源代碼進行斷點調試,但如果需要更加詳細的程序運行信息可以對源代碼進行更改,下面就講講怎麼去更改源碼的具體過程:
1.準備工具有:
a.反編譯的工具,能把java jar裏面的 .class文件反編譯成 .java文件,這裏我用的反編譯工具是 jd-gui.exe
b.eclipse工具
c.需要要更改的jar包
2.把jar包拖進 jd-gui.exe中 我使用的是 grizzly-http-server-2.2.16.jar 包 例如下圖, 然後把要點擊 File ->sava all Sources 保存 然後會生成一個 zip壓縮包。
然後解壓,解壓裏面都已經變成了 .java文件了,在eclipse中創建一個java工程,然後把你想要更改的 .java文件複製到工程中。
3.如果你要更改的jar包依賴於其它jar包的類 最好是把其它的jar包都導入到 eclipse中,然後創建一個 package包 與要改的源碼對應的類下包名一下致,然後就在源碼類中加入你想要的代碼,並把它重新編譯生成字節碼文件,生成字節碼文件只需要把這個類創建一個對象並運行:
4.找到生成的 .class文件 按Ctrl + shrit +R 看到如下圖:
然後選擇最右邊的 倒三角形勾上 show Derived Resources:
雙擊 .class 進入之後 按快捷鍵 Alt + 空格 出現如下圖:
根據地址找到生成後的文件並複製,把原來的 jar包給解壓,找到這個文件的具體包下 粘貼進去把原來的覆蓋,然後再把解壓之後的文件複製到 eclipse中 點擊 Export -> java -> JAR file ->Next -> Finish
a.解壓:
b.替換:
c.複製到eclipse:
d.生成 jar包:
5.查看修改後的 jar包,把生成後的 jar包拖到 jd-gui.exe中就可以看到。
6.完成。