1

有谁知道从 lib 目录创建 Maven 依赖项的工具?我有几个包含大量 JAR 的 Web 项目,并希望将它们“mavenize”。为每个人寻找适当的依赖是一件很痛苦的事情,而且似乎可以通过程序来解决。

4

3 回答 3

2

好吧,由于这些罐子(大概)一开始并不是来自 Maven,因此它们不会包含告诉您它们的 GAV 坐标的清单。所以很难看出一个工具是如何从一个目录中推断出需要什么的。除非你非常幸运,并且每个 jar 在文件名中都有准确的 arteface ID 和版本,在这种情况下你可能能够编写一些脚本。

无论如何,您可能不希望那样。我敢打赌,很多这些罐子都是传递依赖,你真的不希望它们乱扔你的 POM。

tl; 博士咬紧牙关,只是用手 Mavenise。您总是可以编写一个脚本,对公共存储库或其他东西使用一点 wget 魔法,以帮助您一路走好。

于 2013-05-08T13:58:24.903 回答
1

Ant2Ivy https://github.com/myspotontheweb/ant2ivy是一个可以做到这一点的 Groovy 脚本。

尽管它的名字,它也可以创建 pom 文件(https://github.com/myspotontheweb/ant2ivy/commit/9e3e8358f2b31507b13f5def69627da422e1656b)。

它会在 Maven Central 中为您查找名称/哈希,以便创建 pom。

于 2014-11-03T19:55:22.937 回答
0

您可以编写一个插件,将所有依赖项添加<scope>system</scope>到项目的依赖项列表中。您可以通过查看 build-helper-maven-plugin 来检查如何执行此操作。

我强烈反对这样做。看,如果你打算使用 Maven 来做你的 Ant 猴子业务,那就用 Ant 来做。将为您节省时间和精力。

另一方面,如果您想“Mavenize your build”,您应该真正正确地 Mavenize 它,而不是偷懒。解决方案就像你做的一样糟糕。如果您很懒惰,那么无论哪种方式,它们都会变得一团糟,因此努力将毫无意义。

我建议您使用以下任一方式添加每个依赖项:

并正确地完成工作。此外,还要安装一个工件存储库管理器。:) 祝你好运。

于 2013-05-08T16:47:27.190 回答