2012-04-24 147 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是一个超级英雄。