我的应用程序正在使用大约 30-40 个罐子。由于该应用程序很旧,并且许多人在我之前就已经在使用它,因此我想弄清楚是否对它们进行了任何自定义。
目前我正在尝试从可用版本中找到所有 jar,然后下载它们。然后我打算对它们进行差异合并以找出差异。
我认为应该有另一种方法。请告诉。有些可以通过查看 JAR 名称或清单文件找到。但其他人呢?
请帮忙。
我的应用程序正在使用大约 30-40 个罐子。由于该应用程序很旧,并且许多人在我之前就已经在使用它,因此我想弄清楚是否对它们进行了任何自定义。
目前我正在尝试从可用版本中找到所有 jar,然后下载它们。然后我打算对它们进行差异合并以找出差异。
我认为应该有另一种方法。请告诉。有些可以通过查看 JAR 名称或清单文件找到。但其他人呢?
请帮忙。
您可以计算哈希码,例如 MD5。如果两个 jar 具有相同的 MD5 哈希码,则内容很可能也是相同的。
否则,如果您有良好的测试覆盖率,您可以尝试尝试错误的方法:
我能想到的获得一组依赖项的最简单方法是创建一个新的 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 的信息。