在工作中,我经常收到要在生产环境中部署的Java Webapp版本,其中包括.jar文件中的所有依赖项。
有时,交付的内部版本包括具有不同版本的重复jar,例如log4j-1.2.3.jar
和log4j-1.2.4.jar
,这破坏了我们的部署过程。
我正在寻找一种确定两个.jar文件是否是同一事物的不同版本的方法。当前,我们正在查看文件名,如果它们之间仅相差数位,那么我们认为它们是重复的,但是如果从文件名中删除了版本,这种方法将不起作用。
我想到要查看jar文件的内容,即MANIFEST.MF
文件中该文件的唯一属性。
此类属性必须:
MANIFEST.MF
文件中我检查了一些清单文件的内容,Implementation-Title
或Export-Package
似乎是不错的选择,但我不确定它们是否符合上述条件。
确定我们是否存在重复的.jar文件的最佳方法是什么?