2012-04-24 50 views
1

首先我想指出,即時通訊相當新的NetBeans和Java,無法準確地找到我需要在網上。
我下載了一個軟件的源文件,並在NetBeans上修改它。自然,在構建項目時,netbeans會在(例如)documents/project_folder/dist/lib文件夾中創建並創建我可以使用的JAR文件。
如果我錯誤地刪除了源文件,並且想要使用JAR和lib文件夾,我仍然使用之前對新鮮源文件所做的所有更改,是否可能以及如何?從jar文件恢復項目

回答

1

首先,不可能從lib文件夾中的jar文件再次獲取源代碼。 Jar文件是隻包含類文件的可執行文件。你可以使用Java反編譯器再次獲取源代碼。

+0

我不知道我是否理解正確。事情是我有我的項目未經編輯的原始來源,我不需要從jar提取舊的源代碼,只需使用jar將新的來源應用於某種差異。不能這樣做? – 3a2roub 2012-04-24 10:52:48

+0

沒問題。只是爲了記錄:使用JD,我結束了我認爲與使用winrar解壓縮jar相同的源文件夾。還是它? – 3a2roub 2012-04-24 10:59:13

+0

提取jar給你所有的.class文件,這不是你的源文件。事情是你得到它在你創建你的源相同的文件夾結構。在使用winrar解壓縮後,如果你查看文件夾內的文件,它們是.class文件而不是.java文件。 – 2012-04-24 11:25:06

0

將您的源代碼保留在任何SCM上。使用遠程SCM不要丟失你的代碼。請參閱:谷歌代碼,github,launchpad等。

1

NB沒有版本控制,也沒有默認自動保存。您可以在NB7中查看git

當您使用反編譯器從Jar進行恢復時,如果您知道代碼的全部內容,那麼很有可能會再次獲得源代碼。

1

你可以通過使用反編譯器獲取源代碼。有許多反編譯器可用,如DJ Decomipler。我最喜歡的是Jd Java Decompiler。它的尺寸非常小,並且它的工作非常好

1

我是一個Eclipse用戶,但我猜Eclipse和Netbeans在某種程度上都是相似的。除非已經創建了包含源代碼的jar,否則您將不會有反編譯類文件的其他選擇。

當需要的時候,我通常會使用JD-GUI來完成反編譯jar的工作。

1

無法從編譯的字節碼中檢索精確的源代碼。但有一種可能性,在一定程度上恢復您的代碼

JD是一個很好的Java反編譯器。 http://java.decompiler.free.fr/?q=jdgui

我認爲在原始源代碼丟失的情況下,JD是一個超級英雄。