4

我知道如何为外部存储库执行此操作,但不知道如何为我的本地存储库执行此操作,因为我<repository>settings.xml.

我为我的子项目使用快照版本,所以当我重新构建父项目时,我希望 maven不仅每天一次从我的本地存储库中获取所有子项目的快照版本(这似乎是默认情况下发生的情况)但总是。

4

3 回答 3

7

如果我理解您的评论,我认为@FrVaBe 可能有正确的答案。当您在开发机器上更改子项目的代码时,由您来重建快照并将其放入本地工件存储库(通过mvn install),以便父项目可以使用它。

但是,如果您希望您的父项目构建能够提取您的团队成员所做的更改并每天多次发布到公司远程存储库,请继续阅读。

这里总结了 Maven 中心(和 kin)、远程存储库(例如 Nexus 或 Artifactory 的公司实例)和本地存储库如何协同工作。如果您总是希望在每次构建时下载最新版本的快照,请进入您的settings.xml文件,找到<snapshot>包含所需快照的存储库,然后将<updatePolicy>值更改为“始终”。mvn就我个人而言,我很少这样做,当我想确保从远程仓库获得最新版本的快照时,我只需在命令行中添加“-U”选项。

于 2013-01-17T17:27:09.023 回答
3

本地存储库没有更新策略!

本地存储库只是一堆文件。当您install访问本地存储库时,您的本地项目已经直接引用了工件。除了可能需要刷新 IDE 以获取较新的文件外,无需执行任何更新。

通过这种方式,您可以整天构建本地快照,而无需担心版本控制、不需要更新,也不会留下旧的工件。如果您是 Maven 的新手并且仍然掌握所有这些存储库及其花哨的更新机制,那么它很好而且很干净,但不是那么明显。

于 2013-07-19T16:15:30.873 回答
2

我想你误会了什么。Maven 将始终从您的本地存储库中获取最新/最新的 SNAPSHOT。但是在您的项目设置(项目继承)中,如果您更改了某些内容,则需要自行构建子项目。

子项目的自动构建仅发生在项目聚合布局上。

文档的项目继承与项目聚合部分解释了差异。

于 2013-01-16T21:17:43.133 回答