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

新手上路,请多包涵

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

请建议最好的方法

  1. 从 war/ear 中获取源代码

  2. 将可用源代码与 war/ear 中存在但可用源代码中缺少的代码进行比较和合并/更新(我正在使用 ECLIPSE IDE)

提前致谢

原文由 Karthik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

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

原文由 zeisi 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

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

原文由 Kevin Hooke 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题