Maven更新有关本地和远程快照的策略快照



如果您的本地和远程快照有所不同,我只想肯定Maven中快照功能的行为。例如,假设我有项目A,并且B项目是B取决于A,并且我在本地更改A和B。但其他开发人员也正在更改B并将项目部署到托管人工制品的存储库中。

即使我的本地B比远程B年龄大,该项目A将使用本地B而不是远程B,我该如何确保该项目A将使用本地B而不是远程B?因此,基本上我想确保如果我对依赖项项目进行了任何本地更改,我希望有任何具有修改的项目作为依赖项的项目来使用本地修改版本,而不是远程版本。

我该怎么做?是否有更新的POLICY?

使用快照构建时,Maven将将本地POM的时间戳与遥控器进行比较。

您可以使用 updatePolicy 使用Value 从不来控制,Maven永远不会尝试检索另一个版本。它只有在本地不存在的情况下才能做到这一点

您需要在Maven Settings.xml中设置它,如下所示

<repositories>
        <repository>
          <id>exampleSnapshots</id>
          <name>example Snapshots</name>
          <url>http://example.org/maven2</url>
          <layout>default</layout>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
               ......
          </snapshots>
        </repository>
      </repositories>

其他选项是alwaysdaily(默认),interval:X(其中X是数分钟内的整数)。

在Maven文档中查找更多信息

最新更新