0

我的应用程序正在使用大约 30-40 个罐子。由于该应用程序很旧,并且许多人在我之前就已经在使用它,因此我想弄清楚是否对它们进行了任何自定义。

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

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

请帮忙。

4

2 回答 2

2

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

否则,如果您有良好的测试覆盖率,您可以尝试尝试错误的方法:

  • Mavenize 你的项目
  • 运行测试
于 2012-05-18T09:25:29.097 回答
0

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

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

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

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

mvn archetype:generate

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

mvn dependency:copy-dependencies

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

在官方主页上了解更多关于 Maven 的信息。

于 2012-05-18T09:15:19.963 回答