当前位置:  开发笔记 > 编程语言 > 正文

查找Java类文件版本之间的差异

如何解决《查找Java类文件版本之间的差异》经验,为你挑选了2个好方法。

我正在使用来自商业供应商的大型Java Web应用程序.我收到了来自供应商的补丁,其中包含一个新的.class文件,该文件可以解决我们在软件中遇到的问题.过去,应用此供应商的补丁程序会导致出现新的且完全不相关的问题,因此我希望在将其应用于测试实例之前了解所做的更改.

我并排获得了两个.class文件,一个是从当前运行的版本中提取的,另一个是来自供应商的. JAD和JReversePro分别将两个版本反编译和反汇编到同一输出.但是,.class文件的大小不同,我看到输出的差异od -x,所以它们肯定不相同.

我可以采取哪些其他步骤来确定两个文件之间的区别?


结论:

感谢您的好评.由于javap -c两个类文件的输出也相同,我将得出结论,Davr的权利和供应商发送给我一个安慰剂.虽然我因为这个原因接受了Davr的答案,但是Chris Marshall和John Meagher让我接受了javap,所以感谢你们三个人.



1> davr..:

它们可能只是使用新版本的java编译器或不同的优化设置等编译它,因此功能相同,代码相同,但输出字节码略有不同.



2> John Meagher..:

如果您正在寻找API级差异,javap工具可以提供很大帮助.它将输出方法签名,并且可以将这些签名输出到纯文本文件,并使用普通的diff工具进行比较.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有