2010-07-31 175 views
3

我对Maven非常陌生,并且对构建多个Maven项目有疑问。构建多个Maven项目

我们有两个Maven项目,项目A和项目B.

项目A依赖于项目B

当更改项目A或B检查到SVN,我们当地哈德森产生一种假象服务器构建修改后的项目(以及任何相关项目),并将工件上传到我们本地的Nexus存储库中。

现在,考虑两个开发人员。

开发1黑客远在项目只有A,当开发人员1建立本地项目A,Maven的推移,并得到从我们的Nexus服务器最新的B项目的快照假象。

开发人员2同时攻击项目A和项目B.当开发人员2构建本地项目中,我们希望行家与任何本地更改建设项目B和使用所产生的假象建项目A.我们如何建立的Maven使用项目B的本地版本,而不是从得到的假象建关系?这是Maven的标准使用模式吗?

回答

3

我们如何设置Maven使用本地版本的项目B构建而不是从Nexus获取artefact?

您可以为每个repository的快照构件设置一个updatePolicy。事实上,Maven的检查,快照通过默认更新每天只有一次。因此,如果您在本地构建B版本,即使将新的SNAPSHOT部署到您的Nexus上,您也应该可以使用它构建A一段时间。如果这不符合您的需求,您可以更改此政策。您也可以离线构建(使用-o选项)。

PS:AFAIK,默认情况下,在Maven 3.x中自动更新将被禁用,您将不得不明确要求更新(使用-U选项)。

+0

谢谢,我指出了正确的方向。 – James 2010-08-02 00:53:53