Maven针对本地和远程快照更新策略快照
如果本地和远程快照不同,我只想明确了解maven中快照功能的行为。例如,假设我有项目A,项目B是B依赖于A的,我在本地更改A和B。但是,其他开发人员也在更改B,并将项目部署到托管人工制品的存储库中 如果我在本地更改B,如何确保项目A将使用本地B而不是远程B,即使我的本地B比远程B旧?因此,基本上我希望确保,如果我对依赖项项目进行了任何本地更改,我希望任何将修改后的项目作为依赖项的项目都使用本地修改版本,而不是远程版本Maven针对本地和远程快照更新策略快照,maven,Maven,如果本地和远程快照不同,我只想明确了解maven中快照功能的行为。例如,假设我有项目A,项目B是B依赖于A的,我在本地更改A和B。但是,其他开发人员也在更改B,并将项目部署到托管人工制品的存储库中 如果我在本地更改B,如何确保项目A将使用本地B而不是远程B,即使我的本地B比远程B旧?因此,基本上我希望确保,如果我对依赖项项目进行了任何本地更改,我希望任何将修改后的项目作为依赖项的项目都使用本地修改版本,而不是远程版本 我该怎么做?是否有更新策略可以做到这一点?在使用快照构建时,Maven将比较本
我该怎么做?是否有更新策略可以做到这一点?在使用快照构建时,Maven将比较本地POM的时间戳和远程POM的时间戳 您可以使用值为的updatePolicy进行控制,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>
示例快照
示例快照
http://example.org/maven2
违约
真的
从未
......
其他选项包括始终
,每日
(默认值),间隔:X
(其中X是以分钟为单位的整数)
请在中查找更多信息,但如果我没有更新本地版本,是否有办法获取此案例的远程版本?我想,如果我在本地更改了一个项目,我会得到本地版本,如果不是,我想要最新的远程版本。Maven更新检查将基于POM的时间戳发生,当您在本地构建时(即使有本地更改),它也会更新POM时间戳,因此它会认为它是最新的。