我最近丢失了我当时正在做的项目的netbeans项目文件夹。然而,在我工作的公司的某个服务器上,我部署了它。因此,这意味着我(希望)仍然可以获得.war文件。
是否有可能然后"解包"这个。war和得到我的。java源文件回来,我当时正在工作?
提前感谢!
如果.java源代码不在WAR中(它们不应该在WAR中),您将不得不使用JAD之类的工具进行额外的反编译。
这是一个建立版本控制系统的好时机,比如Subversion或Git或Mercurial,这样你就不会再发生这种情况了。养成使用源代码管理的习惯,即使您是项目的唯一开发人员。
简短回答:No.
稍微长一点的回答:寻找Java反编译器,但他们不会给你Netbeans项目文件夹
您只能从war中获得*.class文件(将war重命名为zip并使用解压缩工具)。
然后你可以反编译它们。
假设您在创建war时导出了源文件,那么您可以获取它。否则,JAD是你唯一的希望,也不能完全依赖它。
可以解压缩war文件,您将只获得类文件和其他属性文件。然后使用Java反编译器查看源代码,它确实工作得很好(不推荐)。
你也可以在没有JD的情况下修改属性文件,你所需要做的只是修改属性文件并再次压缩为war文件。会成功的。
但是我建议您在SVN或TFS中维护源代码,或者在任何时候在本地系统中维护带有版本号的多个副本。
在Eclipse中,您可以导入您的War,它将创建一个新项目并在项目结构中设置资源。如果您的war包含源java文件,则项目将包含您的源文件。如果不是,包将是空的,你将不得不手动反编译你的类从字节码到java文件,使用jad或其他反编译器。