如何获得java中两个zip文件之间的差异

问题描述:

我有两个不同版本的zip文件形式的同一产品 product-v1.0.0.zipproduct-v2.0.0.zip。在转到最新版本之前,我需要查看哪些文件被修改意味着添加,删除,更改。我怎样才能达到这个使用java如何获得java中两个zip文件之间的差异

+0

你试过'zipdiff'? –

+0

@Chinmayjain我试过像这样'java -jar zipdiff.jar -file1 c5-custom-product-5.2.0.zip -file2 c 5-custom-product-5.2.0-update1.zip'但它给了我'错误:发生了JNI错误,请检查您的安装并重试 线程“main”中的异常java.lang.NoClassDefFoundError:org/apache/commons/cli/ParseException '错误。我用错了吗?请帮助 –

+0

可以使用zip文件系统(“jar:/ file:/ ...”)。然而普通的'ZipInputStream'也会提供校验和和长度以进行快速比较。 –

你可以尝试使用zipdiff

您可以使用下面的命令来查找2 zip文件之间的差异:

java -jar zipdiff.jar -file1 product-v1.0.0.zip -file2 product-v2.0.0.zip 

Note: Make sure Apache Commons CLI is in the same location as of zipdiff.jar

+0

需要哪个版本的CLI?我加了'commons-cli-1.4.jar',但是仍然出现同样的错误? –

+0

您将获得与库的源代码捆绑在一起的库依赖项。使用我提供的用于下载库的链接。 –

+0

你能找到差异吗? –