如何从war文件中获取java源代码?

Kar*_*hik 5 java eclipse ear war


我没有最新的源代码,但在服务器上部署了war(最新)文件.

请建议最好的方法
1)从war/ear中检索源代码
2)比较和合并/更新可用的源代码与war/ear中的代码但可用源代码中缺少(我使用的是ECLIPSE IDE)

提前致谢

zei*_*isi 10

战争文件基本上是zip文件,因此很容易提取.(使用解压缩或只是重命名文件)接下来你可以使用像JD这样的Java反编译器.但是你不会得到原始的Java代码,因为编译器做了很多优化.但它应该给你一个很好的起点


Kev*_*oke 5

从 EAR/WAR/Jars 中提取类后,使用 JAD 反编译您感兴趣的代码以返回源:http ://varaneckas.com/jad/

我不确定是否有任何开箱即用的工具可以将您的原始源代码与 JAD 之类的东西生成的反编译源代码进行比较/差异。另请记住,将类反编译回源代码不会产生看起来与原始源代码相同的源代码 - 代码风格将会不同,甚至可能是代码的某些结构。区分原始源代码和反编译源代码将很困难。

如果您有原始源代码,但没有当前部署的代码的源代码,也许更好的问题是问“为什么不”?如果您的构建过程中缺少某些内容,并且您没有跟踪每个构建所使用的源,也许这是一个更容易解决的问题,而不是尝试做一些笨拙且容易出错的事情,例如其他源之间的差异和反编译源?