构建多个 Maven 项目
Posted
技术标签:
【中文标题】构建多个 Maven 项目【英文标题】:Build multiple Maven projects 【发布时间】:2011-03-23 13:46:30 【问题描述】:我是 Maven 新手,对有疑问。
我们有两个 Maven 项目,项目 A 和项目 B。
项目 A 依赖于项目 B 生成的工件。
当对项目 A 或 B 的更改签入 SVN 时,我们的本地 Hudson 服务器会构建修改后的项目(以及任何依赖项目)并将工件上传到我们的本地 Nexus 存储库中。
现在,考虑两个开发人员。
开发人员 1 仅破解项目 A,当开发人员 1 在本地构建项目 A 时,Maven 会从我们的 Nexus 服务器获取最新的项目 B 快照工件。
Developer 2 同时对项目 A 和项目 B 进行了 hack。当开发人员 2 在本地构建项目 A 时,我们希望 Maven 使用任何本地更改构建项目 B,并使用生成的工件来构建项目 A。我们如何设置 Maven 以使用项目 B 的本地版本进行构建,而不是从关系?这是 Maven 的标准使用模式吗?
【问题讨论】:
【参考方案1】:我们如何设置 Maven 以使用项目 B 的本地版本进行构建,而不是从 Nexus 获取人工制品?
您可以为每个repository 的快照工件设置updatePolicy
。实际上,默认,Maven 每天只检查一次 SNAPSHOT 更新。因此,如果您在本地构建 B 版本,您应该能够在一段时间内使用它来构建 A,即使您的 Nexus 部署了新的 SNAPSHOT。如果这不符合您的需要,您可以更改此政策。您也可以离线构建(使用-o
选项)。
PS:AFAIK,在 Maven 3.x 中默认禁用自动更新,您必须明确要求更新(使用 -U
选项)。
【讨论】:
以上是关于构建多个 Maven 项目的主要内容,如果未能解决你的问题,请参考以下文章