1

在我看来,我有一个有趣的案例。我们正在使用 maven,由于我们必须支持我们产品的多个版本,因此我们有时会使用 1.x 和 2.x 构建结构。当 1.x 和 2.x 并行构建时,有时我们会看到

安装工件的元数据时出错:安装元数据时出错:更新组存储库元数据时出错

据我所知,本地用户存储库中的 maven-metadata-local.xml (对于工件,而不是工件的版本)同时被另一个 maven 进程写入。有没有办法让 maven 并行构建这两个,但等待文件上的写锁来更新它?

4

3 回答 3

5

听起来您正在为所有构建作业使用相同的本地存储库,而您已经知道这些作业将无法正常工作。Jenkins/Hudson/CI 的重点是为每个构建作业使用本地 maven 存储库。您需要在 Jenkins 中使用本地 maven 存储库进行配置以避免此类情况。

您还可以安装Concurrent Safe Local Repository Access maven 插件,这将允许您使用相同的本地存储库。(如果您正在动态配置代理,则很有用)

于 2013-05-15T13:23:36.567 回答
2

使用 Maven 设置 (Admin/Configure) 下的第二个或第三个选项: 在此处输入图像描述

这些选项来自:Maven 项目插件

于 2018-04-26T12:09:42.410 回答
0

现在可以从maven 3.8.2开始同时访问存储库

需要手动安装和配置库以实现并发安全访问

于 2021-08-31T13:21:54.960 回答