如何从原始JAR中查找开源JAR中的更改

时间:2012-05-18 09:07:52

标签: java open-source jar

我的应用程序正在使用大约30-40个罐子。由于应用程序已经很久了,许多人已经在我之前处理过,所以我想弄清楚,如果有任何自定义,或者没有。

目前我正在尝试从可用版本中找到所有的罐子,然后下载它们。然后我打算对它们进行差异合并以找出差异。

我认为应该有另一种方法。请告诉。通过查看JAR名称或Manifest文件可以找到一些。但其他人呢?

请帮忙。

3 个答案:

答案 0 :(得分:1)

您可以计算哈希码,例如MD5。如果两个jar都具有相同的MD5哈希码,则内容很可能也是相同的。

否则,如果你有一个很好的测试覆盖率,你可以采用尝试和错误的方法:

  • Mavenize your project
  • 运行测试

答案 1 :(得分:0)

我能想到获得一组依赖项的最简单方法是创建一个新的Maven项目,并将所需的每个jar添加到项目pom文件中。

Maven,如果你不知道是一个Java构建工具,它专注于简化依赖管理。它通过一个pom.xml文件来实现,该文件列出了有关项目的信息,包括它所需的jar(依赖项)列表。依赖关系由以下XML格式的名称(artifactId),组和版本标识...

<dependency>
  <groupId>group-a</groupId>
  <artifactId>artifact-b</artifactId>
  <version>1.0</version>
</dependency>

您可以创建一个新的mvn项目(首先下载并安装maven),然后执行:

mvn archetype:generate

创建新项目。这将为您提供一个没有依赖项的空项目和一个模板pom.xml文件。从那里,您可以编辑您的依赖项列表并添加您需要的40个罐子中的每一个。一旦你完成了那个......

mvn dependency:copy-dependencies

这会将您需要的所有jar文件从Maven在线中央存储库中提取到项目的目标/依赖项文件夹中。从那里你可以编写一个脚本来执行jar文件的md5sum比较。

official homepage了解有关Maven的更多信息。

答案 2 :(得分:0)

检查此工具,http://winmerge.org/您确实需要它是免费且非常棒的。