我最近丢失了当时正在处理的项目的netbeans项目文件夹。然而,在我工作的公司的某个服务器上,我部署了它。这意味着我(希望)仍然可以获得.war文件。从.war文件取回我的java源代码?
是否有可能'解压缩'这个.war文件并获取我当时正在处理的.java源文件?
在此先感谢!
我最近丢失了当时正在处理的项目的netbeans项目文件夹。然而,在我工作的公司的某个服务器上,我部署了它。这意味着我(希望)仍然可以获得.war文件。从.war文件取回我的java源代码?
是否有可能'解压缩'这个.war文件并获取我当时正在处理的.java源文件?
在此先感谢!
如果.java源文件不在WAR中(而且它们不应该是),那么您必须采取额外的步骤来使用JAD等工具反编译它们。
这是设置版本控制系统的好时机,如Subversion或Git或Mercurial,所以这再也不会发生在您身上。养成使用源代码管理的习惯,即使您是开发该项目的唯一开发人员。
简短的回答:第
稍长的答案:寻找Java decompilers,但他们不会给你的NetBeans项目文件夹中。
好了,以下应该工作:1 - 我解压.war文件,2 - 我解编类文件,3 - 我从现有的源重新创建netbeans项目?听起来很对,对吧? – Tiwaz89
假设您在创建战争时导出了源文件,您可以获取它。否则,JAD是你唯一不能完全信赖的希望。
可以将war文件解压缩到只有类文件和其他属性文件的位置。然后使用Java反编译器来查看源代码,并且它工作得很好(不推荐)。
此外,您可以更改属性文件没有JD和所有你需要做的只是改变属性文件和zip到战争文件again.It将工作。
但我建议你在SVN或TFS中维护源代码,或在任何时间点在本地系统中使用版本号复制多个副本。
...源代码管理... – JRL
解压WAR文件很简单 - 它只是一个具有特定布局的Zip文件。在Mac或Linux上,您可以在文件上调用“unzip”。不幸的是,这并没有为你带来源文件,只是编译后的.class文件,所以你需要一个反编译器才能够读取java代码,并且它不会与原始源代码相同。 –
你的意思是版本控制?地狱是的,这是我在职业生涯初期学到的宝贵经验。 – Tiwaz89