比较文件的.class Beyond Compare 4

6

我正在使用Beyond Compare 4(4.1.9)来比较war文件。

我需要比较在几个包中找到的.class文件。

  1. 我如何使用这个产品(Beyond Compare 4)来比较它们?
  2. 否则,有另一个产品可以比较war文件并编译.class文件吗?
4个回答

12

在Beyond Compare的文件夹比较中双击war文件,它会扩展为文件夹,因为war文件本质上是zip文件。

要将Java类文件反编译为源代码,请安装 Java Class to Source文件格式。安装文件格式后,当您在.war档案中双击.class文件时,它将在Beyond Compare的文本比较中显示反编译的源代码。

文件格式下载页面: http://www.scootersoftware.com/download.php?zz=kb_moreformatsv4

请注意,Java类到源文件格式仅适用于Windows,不适用于Beyond Compare的Linux或Mac版本。


4

2

选项: javap -l -p -c -constants %s > %t 2>&1 : 对我来说在beyondCompare4 4.3.7(迄今为止的最新版本)中不起作用,如果直接通过cmd使用,则会产生.class文件输出,但格式很差,对于我来说并不是真正可解释的Java读者。

通过 http://www.scootersoftware.com/download.php?zz=kb_moreformatsv4 下载格式的选项也对我不起作用。这个库基于 http://varaneckas.com/jad ,而它相当老旧。

我推荐并且可行的方法是:下载 https://github.com/kwart/jd-cli (基于著名的“Java反编译器”或“jd-gui”项目)。安装完成后,在BeyondCompare4中执行以下操作: 进入格式,创建一个新的格式,使用外部程序,并使用以下内容: C:\Users%USERNAME%\jd-cli-1.2.0-dist\jd-cli.bat %s > %t 2>&1 希望这能对您有所帮助。

0

最近我需要在Beyond Compare 4中比较类文件,所以我发现添加一个外部程序并使用javap -l -p -c -constants %s > %t 2>&1就足够了。只需确保PATH中有一个相当新的javap,它可以理解您想要比较的任何类文件格式。不需要额外的软件,而且跨平台兼容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接