我有一台机器,其中发生多个并行的 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 中具有相同版本的多个不同上游工件时),并且没有并发下载(这本身有时会导致校验和错误)。
格鲁斯·贝恩德