如何确定2个.jar文件是否为“相同”版本?

时间:2019-03-29 17:35:00

标签: java jar manifest.mf

在工作中,我经常收到要在生产环境中部署的Java Webapp版本,其中包括.jar文件中的所有依赖项。

有时,交付的内部版本包括具有不同版本的重复jar,例如log4j-1.2.3.jarlog4j-1.2.4.jar,这破坏了我们的部署过程。

我正在寻找一种确定两个.jar文件是否是同一事物的不同版本的方法。当前,我们正在查看文件名,如果它们之间仅相差数位,那么我们认为它们是重复的,但是如果从文件名中删除了版本,这种方法将不起作用。

我想到要查看jar文件的内容,即MANIFEST.MF文件中该文件的唯一属性。

此类属性必须:

  • 始终存在于任何.jar的MANIFEST.MF文件中
  • 对该.jar的所有版本/内部版本都是通用的
  • 对该.jar唯一(例如,log4j和log4j-api之间必须有所不同)

我检查了一些清单文件的内容,Implementation-TitleExport-Package似乎是不错的选择,但我不确定它们是否符合上述条件。

确定我们是否存在重复的.jar文件的最佳方法是什么?

0 个答案:

没有答案