Java Maven将多个JAR导入本地回购

Java Maven将多个JAR导入本地回购,java,maven,Java,Maven,我正在尝试使用以下方式导出到项目的依赖项: mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -DoutputDirectory=c:\output 其结果是我的本地maven存储库的一个子集,其中包含一些只有我在机器上才有的JAR 我正在尝试与我的同事共享本地存储库的这个子集 我只想发送这个文件夹结构,这样他就可以将它导入到自己的本地maven maven存储库中 我们试图将这些文件夹复制到他自己的本地存储库中,

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

mvn dependency:copy-dependencies -Dmdep.useRepositoryLayout=true -DoutputDirectory=c:\output
其结果是我的本地maven存储库的一个子集,其中包含一些只有我在机器上才有的JAR

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

我只想发送这个文件夹结构,这样他就可以将它导入到自己的本地maven maven存储库中

我们试图将这些文件夹复制到他自己的本地存储库中,但知道这行不通

我的问题是,有没有办法告诉maven“索引”这些复制到目录中的文件

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

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

我们可以为每个jar使用mvn install:install文件,但是太多了

多谢各位,
Peter

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

这样,您将不仅包括jar文件夹中的metainfos,还包括repo中其他文件夹中分布的其他metainfos


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

因此,有两种解决方案可以解决您的问题:

  • 在公司内部共享JAR的真正标准解决方案是建立一个Nexus或Artifactory服务器,您可以在其中部署构建构件,您的同事也可以使用它。事实上,如果你和Maven一起开发,在一家公司里有两个人以上,我总是会建立一个Nexus/人工工厂。它们是免费的,易于使用

  • 如果你真的想继续你的方法,你可以把整个目录给你的同事。然后,您可以将此目录作为存储库放入
    settings.xml
    并使用它。存储库可以是本地目录,而不必是远程存储库。例如,参见此答案


  • 为什么不建立在自己的基础上…为什么你需要分享一些东西?下载是自动完成的吗?此外,如前所述,如果您在公司环境中进行某项工作,那么对于NPM、Docker Images等内容,存储库管理器也是必须的。对于Jenkins等CI解决方案的进一步改进,存储库管理器也是必须的。