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

德罗普斯

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

如何确保如果我在本地更改 B,即使我的本地 B 比远程 B 旧,该项目 A 也将使用本地 B,而不是远程 B?所以基本上我想确保如果我对依赖项目进行了任何本地更改,我希望任何将修改后的项目作为依赖项的项目使用本地修改版本而不是远程版本。

我怎样才能做到这一点?是否有执行此操作的 updatePolicy?

拉夫提鲁

在使用快照构建时,Maven 会将本地 POM 的时间戳与远程进行比较。

您可以使用值为neverupdatePolicy进行控制,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 文档中查找更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章