IDEA有一個很棒的內置功能 - 反編譯器。它工作的很好。我可以複製源代碼,但我找不到選項將所有反編譯的java類提取到java文件。
這個項目有很多java類和包,所以我會很長時間手工複製它。
有誰知道如何解壓縮到java源文件。 Thx如何反編譯爲java文件intellij idea
回答
要使用從一個jar包的命令行的IntelliJ的Java反編譯器遵循此處提供的說明: https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
IntelliJ IDEA的反編譯器沒有考慮到這種用法。它只是爲了幫助程序員窺視他們正在開發的Java類的字節碼。爲了反編譯許多你沒有源代碼的類文件,你需要一些其他的java反編譯器,它專門用於這項工作,並且很可能獨立運行。如果你谷歌,你應該找到一堆。
但我手動複製代碼,它的工作原理。也許有什麼辦法可以自動完成或者編寫腳本來從反編譯的壓縮文件複製到項目 – bkdaaqra 2015-02-08 00:31:56
前段時間我用JAD(JAva Decompiler)來實現這個 - 我不認爲IntelliJ的反編譯器是考慮到了導出問題。它更多的是幫助我們查看哪些來源不可用的類。
JAD仍可供下載,但我不認爲任何人保持它了:http://varaneckas.com/jad/
有它很多的插件,即Jadclipse(你猜對了,在Eclipse中使用JAD的方式 - 見反編譯代碼不可用的類:))。
Intellij反編譯器與其他工具比較起來效果很好,但有時它不能反編譯lamdas,所以它會調用invokedynamic,但我嘗試過cfr,並且它很好,但其他代碼不如intellij,所以我必須手動複製所有代碼( – bkdaaqra 2015-02-08 06:59:23
你可以使用其中一個(你既可以在線使用它們,或者下載這些,有關於他們每個人的一些信息): http://www.javadecompilers.com/
的一個IntelliJ IDEA的使用是fernflower,但它不能處理最近的事情 - 比如String/Enum開關,泛型(沒有親自測試這個,只能讀到它),... 我剛剛嘗試過上述網站的cfr,結果與內置的相同反編譯器(除了我在課堂上使用的Enum開關外)。
按照指令IntelliJ JD plugin。或者看下面的說明摘錄。
java -jar fernflower.jar [<source>]+ <destination>
+
意味着1次或多次
<source>
:文件或目錄與文件反編譯。目錄被遞歸掃描。允許的文件擴展名是類,zip和jar。
<destination>
:目標目錄
例子:
java -jar fernflower.jar -hdc=0 -dgs=1 -rsy=1 -lit=1 c:\Temp\binary\ -e=c:\Java\rt.jar c:\Temp\source\
請注意,如果你傳遞一個「的.jar」文件的來源,它會在目標創建另一個「的.jar」文件但是,在新的「.jar」文件中,這些文件將是.java而不是.class文件(它不會破壞jar)。
截至2017年8月和IntelliJ V2017.2,接受的答案似乎不再是完全準確了:沒有fernflower.jar
可供使用。
的JAR文件被稱爲java-decompiler.jar
,並且不包括主清單......相反,你可以使用下面的命令(在Mac上安裝):
java -cp "/Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler
(你會得到錯誤的使用命令,但它確實有效)。
java -jar fernflower.jar -hes=0 -hdc=0 C:\binary C:\source
放入夾C JAR文件:\二進制和源代碼將被提取
從
http://files.minecraftforge.net/maven/net/minecraftforge/fernflower/
命令嘗試
https://github.com/fesh0r/fernflower
下載JAR幷包裝在一個jar裏面的C:\源。
享受!
- 1. Fernflower和IntelliJ IDEA的java反編譯器
- 2. Intellij IDEA 11:如何從.less編譯.css?
- 3. 如何「反編譯」Java類文件?
- 4. Intellij Idea編譯器重新編譯已編譯的項目
- 5. Java。 IntelliJ IDEA hotswap
- 6. 在Intellij中編譯兩個相互依賴的文件Idea
- 7. 在Intellij-Idea中跳過GWT編譯9
- 8. 如何反編譯java包?
- 9. 如何反編譯jd-gui反編譯器無法反編譯的Java類文件?
- 10. 如何強制Intellij IDEA將PHP文件解析爲PHP文件
- 11. 如何加載xml文件,在IntelliJ IDEA
- 12. 如何編程將文件反編譯爲源文本?
- 13. java反編譯
- 14. 如何使用Intellij Idea代替eclipse來編譯mixare項目?
- 15. 你如何確定IntelliJ Idea發佈的編譯命令?
- 16. 如何解決IntelliJ IDEA中Java文件的依賴性衝突?
- 17. 爲IntelliJ IDEA的
- 18. 如何將.jasper文件反編譯爲.jrxml文件
- 19. IntelliJ IDEA 10文件模板
- 20. Intellij IDEA類文件擴展
- 21. 如何反編譯.jar文件?
- 22. 如何反編譯.dll文件?
- 23. 如何反編譯Android .apk文件?
- 24. 你如何反編譯swf文件
- 25. 如何反編譯.sis文件?
- 26. IntelliJ Idea:如何停靠java-doc窗口
- 27. 如何在IntelliJ IDEA中練習Java?
- 28. 如何在Java中編譯.java文件?
- 29. 的IntelliJ IDEA:斯卡拉插件:無編譯庫集的模塊
- 30. 如何從rt.jar反編譯Java .class文件
)IntelliJ Java反編譯器工作得很好 – axaluss 2015-07-16 09:27:09
IDEA的默認參數爲'-hdc = 0 -dgs = 1 -rsy = 1 -rbr = 1 -lit = 1 -nls = 1 -mpm = 60'你可以在下面的鏈接[github]中看到它們(https://github.com/JetBrains/intellij-community/blob/master/plugins/java-編譯/插件/ src/org/jetbrains/java /反編譯器/ IdeaDecompiler.kt) – kraken 2016-10-31 05:35:15
有人知道在IntelliJ IDEA安裝中找到fernflower.jar嗎?我搜索了'/ Applications/IntelliJ IDEA CE.app/Contents'在我的Mac上,但無法找到它。 – 2017-05-30 09:27:50