我正在使用 Beyond Compare 4 (4.1.9) 来比较战争文件。
我需要比较在几个包中找到的文件.class 。
- 我如何使用这个产品比较它们(Beyond Compare 4)?
- 否则还有其他产品可以比较war文件并编译.class文件吗?
我正在使用 Beyond Compare 4 (4.1.9) 来比较战争文件。
我需要比较在几个包中找到的文件.class 。
双击 Beyond Compare 文件夹 compare 中的 war 文件会将其展开为文件夹,因为 war 文件本质上是 zip 文件。
要在 Beyond Compare 中将 Java 类文件反编译为源代码,请安装Java 类到源文件格式。安装文件格式后,当您双击 .war 存档中的 .class 文件时,它将在 Beyond Compare 的 Text Compare 中显示反编译的源代码。
文件格式下载页面: http ://www.scootersoftware.com/download.php?zz=kb_moreformatsv4
请注意,Java 类到源文件格式仅适用于 Windows,不适用于 Beyond Compare 的 Linux 或 Mac 版本。
从http://www.scootersoftware.com/download.php?zz=kb_moreformatsv4下载Java 类到源文件格式
在 Beyond Compare 中,选择工具 | 导入设置。
填写下载的文件名,然后单击下一步并继续完成。
选项: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 Decompiler”或“jd-gui”)。安装后,在 BeyondCompare4 中执行以下操作:进入格式,创建新格式,使用外部程序,然后使用以下命令:C:\Users%USERNAME%\jd-cli-1.2.0-dist\jd-cli .bat %s > %t 2>&1
希望这会有所帮助。
我最近遇到了在 Beyond Compare 4 中比较类文件的需求,所以我发现添加一个外部程序并使用javap -l -p -c -constants %s > %t 2>&1
对我来说已经足够了。只需确保一个比较新javap
的 PATH 可以理解您想要比较的任何类文件格式。不需要额外的软件并且是跨平台兼容的。