从ant lib / jar文件夹创建Maven依赖项

时间:2017-05-26 09:43:27

标签: maven dependency-management

我正在尝试将遗留项目从Ant迁移到Maven。我面临的主要问题是我们之前用于Ant的lib文件夹中有多个jar。现在有200加jar,我相信也可能有一些重复。有没有办法从jar列表生成pom.xml文件。我现在看到的唯一选项就是在Maven repo上逐个搜索它们并逐个添加它们。有更简单的方法吗?

谢谢, AMOL

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题(Ant的jar不是svn / git的一部分,而是在网络驱动器上)。我写了一个粗略地执行以下操作的脚本:

  1. 枚举所有依赖项(或可能是依赖项)的jar文件
  2. 获取他们的SHA1值并在MavenCentral上搜索它们。如果从那里直接复制罐子,你会发现它们。但要注意:同一个jar的版本号可以有不同版本。
  3. 从罐子中取出类并在MavenCentral(类名搜索)中搜索它们。这允许您确定大量的groupId:artifactId。版本很棘手,因为它们共享相同的类。
  4. 使用文件名及其结尾(如junit-4.12.jar)来猜测MavenCentral中的工件。
  5. 通过这种方式,您可以获得罐子和MavenCentral之间的近似映射。这显然必须手动纠正,你也可能会发现不是来自MavenCentral的罐子,必须添加到你的Maven仓库。

    如果您有完整列表,请从中创建一个pom.xml。尝试构建您的项目。如果不构建,则添加缺少的依赖项。

    最后,使用dependency:analyze https://maven.apache.org/plugins/maven-dependency-plugin/analyze-mojo.html消除pom中不必要的依赖关系。