跨开发人员的共享Maven存储库

Pri*_*hah 7 java maven-3 maven

有没有办法避免开发人员下载所有依赖项并将这些依赖项定位到共享位置,所有开发人员和每个开发项目的开发人员都指向该位置?

任何人都可以解释样本文件和示例吗?

Mrs*_*ang 10

最好是与maven的一个存储库管理器一起使用.设置的主要步骤如下: - 在内部计算机上安装中央存储库 - 配置中央存储库以代理开发人员所需的存储库 - 修改开发人员maven设置以使用内部maven存储库作为所有内容的镜像(请参阅这里有详细信息)

有3个着名的存储库管理器可用:

我最喜欢Artifactory - 安装和配置花了不到一个小时.现在,如果开发人员向maven项目添加新的依赖项,则该工件将从原始远程存储库下载到内部存储库并将可用.当下一个开发人员需要存档时,它将从内部存储库下载 - 访问速度会快得多.


Ale*_*gak 2

您可以像这样更改本地存储库:

The location of your local repository can be changed in your user configuration. The default value is ${user.home}/.m2/repository/.

<settings>
  ...
  <localRepository>/path/to/local/repo/</localRepository>
  ...
</settings>
Run Code Online (Sandbox Code Playgroud)

看这篇文章

我认为如果您创建共享文件夹并且所有其他开发人员都写入此文件夹的路径,这会有所帮助。(但我没有尝试这样做)

更新

使用共享存储库是个坏主意。在两个或多个用户之间共享本地存储库不是线程安全的,可能会导致不同的错误。
所以这里提到的很多人都使用Artifactory

  • 本地存储库缓存不是并发安全的。如果两个开发人员共享同一个开发人员,他们最终会导致腐败。 (4认同)
  • 你应该指出*为什么*这是一个坏主意。当您告诉某人如何在保险关闭且子弹进入枪膛的情况下将枪装回枪套时,您应该警告他们脚部面临的风险! (2认同)