我们一段时间为我们的Web服务器构建了一些war文件,现在已经重建了它们.
为了确保没有任何变化(以及作为质量检查),我们尝试使用WinMerge进行比较.我们可以看到的差异看起来像是由于某种元数据,例如在不同日期构建的文件?
线条的差异似乎是一致的,例如
«d} <
和
³Ze<
战争文件仍然是相同的大小.
有没有办法比较它们去掉日期等元数据?
我通常使用这样的方法并运行2个解压缩命令并根据需要区分输出.例如,我需要比较2个Java WAR文件.
$ sdiff --width 160 \
<(unzip -l -v my_num1.war | cut -c 1-9,59-,49-57 | sort -k3) \
<(unzip -l -v my_num2.war | cut -c 1-9,59-,49-57 | sort -k3)
Run Code Online (Sandbox Code Playgroud)
导致输出如此:
-------- ------- -------- -------
Archive: Archive:
-------- -------- ---- -------- -------- ----
48619281 130 files | 51043693 130 files
1116 060ccc56 index.jsp 1116 060ccc56 index.jsp
0 00000000 META-INF/ 0 00000000 META-INF/
155 b50f41aa META-INF/MANIFEST.MF | 155 701f1623 META-INF/MANIFEST.MF
Length CRC-32 Name Length CRC-32 Name
1179 b42096f1 version.jsp 1179 b42096f1 version.jsp
0 00000000 WEB-INF/ 0 00000000 WEB-INF/
0 00000000 WEB-INF/classes/ 0 00000000 WEB-INF/classes/
0 00000000 WEB-INF/classes/com/ 0 00000000 WEB-INF/classes/com/
...
...
Run Code Online (Sandbox Code Playgroud)
我更喜欢这种方法,因为它不需要空间来解压缩文件然后比较它们.
如果先将它们解压缩然后比较文件夹,应该会更容易.
在Windows中,您可以使用jdk附带的'jar'可执行文件
jar -xvf xxxx.war
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用WinMerge来比较2个文件夹.
希望这可以帮助
你可以使用eclipse来比较jar/war文件. http://www.javalobby.org/java/forums/m91839415.html
该链接未提及war文件.我正在使用Indigo,似乎eclipse只支持jar比较,因此我必须将war扩展名重命名为jar以获得eclipse进行结构比较.
| 归档时间: |
|
| 查看次数: |
30972 次 |
| 最近记录: |