我正在尝试使用以下方式导出到项目的依赖项:
mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -DoutputDirectory=c:\output
此操作的结果是我的本地Maven存储库的子集,其中包含一些仅在我的机器上拥有的jar。
我正试图与同事共享本地存储库的这个子集。
我只想发送此文件夹结构,以便他可以将其导入到自己的本地Maven Maven存储库中。
我们试图将这些文件夹复制到他自己的本地存储库中,因为这将无法正常工作。
我的问题是,有什么方法可以告诉Maven对这些复制到目录中的文件进行“索引”吗?
在这些文件旁边和META-INF文件夹内有描述符,这使我相信可以解析组ID,工件ID和版本。
是否有解决方案或解决方法?
我们可以对每个单独的jar使用mvn install:install-file,但是数量太多了。
非常感谢你, 彼得
答案 0 :(得分:0)
因此,针对您的问题有两种解决方案:
在公司内部共享jar的实际和标准解决方案是设置Nexus或Artifactory服务器,在其中部署构建工件并供同事使用。实际上,如果您在一家公司中有两个以上的人与Maven合作开发,我总是会建立一个Nexus / Artifactory。它们是免费且易于使用的。
如果您真的想继续前进,可以将整个目录提供给您的同事。然后,您可以将此目录作为存储库放入settings.xml
中并使用它。存储库可以是本地目录,而不必是远程存储库。参见例如这个答案https://stackoverflow.com/a/28762617/927493
答案 1 :(得分:-1)
如果需要快速解决方法,则可以复制整个存储库,然后删除不想包括的元素。压缩整个存储库文件夹,尤其要注意包含所有隐藏文件并将其发送。
这样,您不仅将包括jar文件夹中的元信息,而且还将包括分布在存储库内其他文件夹中的其他元信息。
您的同事将需要使用该存储库而不是他们自己的存储库(尽管我会进行备份,直到仔细检查一切正常为止)。这种方式应该可行。只要他有权访问远程存储库,他在自己存储库中拥有的依赖项应在需要时自动重新下载。