如何防止Maven更新特定组的SNAPSHOT依赖关系?
我依赖于一个坚持每日更新1.0-SNAPSHOT的库,但每隔几个月才发布一次。我需要从最近制作的每日SNAPSHOT版本进行更改,但是我已经厌倦了这个框架的开发人员引入了重大变化。因此,除非我特别说明,否则我想告诉Maven永远不要更新此组中的任何内容。
有什么想法吗?我能想到的唯一另一种方法是分割回购,将POM编辑为我自己的版本号,然后依赖于它。
答案 0 :(得分:2)
使用快照时,总会发生这种情况。但是,您可以在本地存储库中安装具有特定版本号的所需版本,然后使用您的版本。类似的东西:
<dependency>
<groupId>my.group</groupId>
<artifactId>my.artifact</artifactId>
<version>1.2-TEMPVERSION</version>
</dependency>
这是一种解决方法,不应该像这样进入生产。
答案 1 :(得分:0)
假设您使用maven 3,您可以使用时间戳快照,即将依赖项替换为其带时间戳的版本。类似的东西:
<dependency>
<groupId>my.group</groupId>
<artifactId>my.artifact</artifactId>
<version>1.2-20140401.124312.1</version>
</dependency>
您还可以使用[versions-maven-plugin] [1]自动将SNAPSHOT依赖项转换为其相应的带时间戳的版本(&#34;锁定版本&#34;):
mvn versions:lock-snapshots -Dincludes=my.group:my.artifact:jar::1.2-SNAPSHOT
当然,如果您的存储库管理器在一段时间后抛出旧的SNAPSHOTS,当所需的SNAPSHOT不再在您的本地存储库中时,这可能会停止工作。
答案 2 :(得分:0)
我认为将快照的更新策略设置为page.9999 = USER
page.9999 {
userFunc = LUFI\Extkey\AdditionalHeaders->addHeaders
}
可以解决此问题;参见here
喜欢
never
尚未(成功)尝试过。但是我遇到了同样的问题,这是我尝试解决的问题。