Maven 本地仓库位于公共全局目录中,用于多个并行执行

Maven 本地仓库位于公共全局目录中,用于多个并行执行

我有一台机器,其中发生多个并行的 maven 执行。每次执行都在单独的工作区目录中执行以下命令

mvn -f main/pom.xml clean package -DskipTests -T 6

-Dmaven.repo.local=$MAVEN_REPO有人可以让我知道每次执行是否应该使用单独的 maven 本地 repo 路径( )或者我可以.m2对所有并行运行使用一个公共目录?

  • Maven 版本 3.5
  • Java 8

答案1

这已在 maven 中讨论过用户邮件列表讨论摘要

你好,

情况恰恰相反,可能存在一个作业依赖于另一个作业安装的工件的情况,在这种情况下,您需要一个共享的 Repo。然而,这是一种不好的做法。在所有其他情况下,如果您有足够的空间,您可以使用执行器或甚至工作区本地的本地存储库。

避免并发访问的优点是,一项作业对另一项作业的影响较小(特别是当您使用快照或不同 Repos 中具有相同版本的多个不同上游工件时),并且没有并发下载(这本身有时会导致校验和错误)。

格鲁斯·贝恩德

相关内容