Maven将多个罐子导入本地仓库

时间:2020-03-25 13:05:01

标签: java maven

我正在尝试使用以下方式导出到项目的依赖项:

mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -DoutputDirectory=c:\output

此操作的结果是我的本地Maven存储库的子集,其中包含一些仅在我的机器上拥有的jar。

我正试图与同事共享本地存储库的这个子集。

我只想发送此文件夹结构,以便他可以将其导入到自己的本地Maven Maven存储库中。

我们试图将这些文件夹复制到他自己的本地存储库中,因为这将无法正常工作。

我的问题是,有什么方法可以告诉Maven对这些复制到目录中的文件进行“索引”吗?

在这些文件旁边和META-INF文件夹内有描述符,这使我相信可以解析组ID,工件ID和版本。

是否有解决方案或解决方法?

我们可以对每个单独的jar使用mvn install:install-file,但是数量太多了。

非常感谢你, 彼得

2 个答案:

答案 0 :(得分:0)

因此,针对您的问题有两种解决方案:

  1. 在公司内部共享jar的实际和标准解决方案是设置Nexus或Artifactory服务器,在其中部署构建工件并供同事使用。实际上,如果您在一家公司中有两个以上的人与Maven合作开发,我总是会建立一个Nexus / Artifactory。它们是免费且易于使用的。

  2. 如果您真的想继续前进,可以将整个目录提供给您的同事。然后,您可以将此目录作为存储库放入settings.xml中并使用它。存储库可以是本地目录,而不必是远程存储库。参见例如这个答案https://stackoverflow.com/a/28762617/927493

答案 1 :(得分:-1)

如果需要快速解决方法,则可以复制整个存储库,然后删除不想包括的元素。压缩整个存储库文件夹,尤其要注意包含所有隐藏文件并将其发送。

这样,您不仅将包括jar文件夹中的元信息,而且还将包括分布在存储库内其他文件夹中的其他元信息。

您的同事将需要使用该存储库而不是他们自己的存储库(尽管我会进行备份,直到仔细检查一切正常为止)。这种方式应该可行。只要他有权访问远程存储库,他在自己存储库中拥有的依赖项应在需要时自动重新下载。