我最近丢失了当时正在处理的项目的netbeans项目文件夹。然而,在我工作的公司的服务器上某处,我部署了它。这意味着我(希望)仍然可以获得.war文件。
是否有可能然后“解压缩”.war并获取我当时正在处理的.java源文件?
提前致谢!
答案 0 :(得分:9)
如果.java源不在WAR中(并且它们不应该是),则必须使用JAD等工具对其进行反编译。
这是设置版本控制系统的好时机,例如Subversion或Git或Mercurial,所以这种情况再也不会发生在你身上了。养成使用源代码管理的习惯,即使您是开发该项目的唯一开发人员。
答案 1 :(得分:2)
答案 2 :(得分:2)
简短回答:不。
稍微长一点的回答:寻找Java decompilers,但他们不会给你你的Netbeans项目文件夹。
答案 3 :(得分:0)
假设您在创建战争时导出了源文件,则可以获得它。另外,JAD是你唯一的希望,也不能完全依赖它。
答案 4 :(得分:0)
可以解压缩war文件,只获取类文件和其他属性文件。然后使用Java反编译器查看源代码,它工作得很好(不推荐)。
此外,您可以在没有JD的情况下更改属性文件,只需更改属性文件并再次压缩到war文件即可。它将起作用。
但我建议您在SVN或TFS中维护源代码,或者在本地系统中随时保留版本号的多个副本。
答案 5 :(得分:0)
在Eclipse中,您可以导入War,它将创建一个新项目并在项目结构中设置资源。如果您的战争保存了源Java文件,则该项目将合并您的源文件。如果不是,则软件包将为空,您将不得不使用jad或其他反编译器将类从字节码手动反编译为Java文件。