Maven特定版本的快照依赖项

时间:2009-09-02 16:05:02

标签: maven-2

有没有办法让Maven下载依赖项的特定快照版本?我知道指定这样的依赖关系会下载最新的快照:

<dependency>
<groupId>groupid</groupId>
<artifactId>artifact-id</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>

是否可以指定特定的快照版本? (例如artifact-id-1.0.0-20090610.041042-5)如果头部快照构建已经破坏并且尚未正式发布依赖的稳定版本,这将非常有用。

4 个答案:

答案 0 :(得分:47)

要使用依赖项的特定快照版本,应使用唯一的快照版本号安装/部署引用的工件。请参阅POM reference/Repository中的 uniqueVersion 元素。 在这种情况下,您可以像:

一样引用它
...
<dependency>
<groupId>groupid</groupId>
<artifactId>artifact-id</artifactId>
<version>1.0.0-20090610.041042-5</version>
</dependency>
...

Maven存储库管理器服务器可能具有其他相关功能,例如覆盖 pom.xml uniqueVersion 设置。例如,请参阅有关此功能的Artifactory User Guide(此外,您可以在此处阅读一些反对使用唯一快照版本号的参数)。

答案 1 :(得分:3)

是的,你可以。可以使用maven存储库中的任何版本。我遇到了一些问题,其中tratsnsitive依赖关系与版本混淆了。这就是mvn dependency:tree派上用场的地方。

答案 2 :(得分:0)

答案 3 :(得分:-3)

AFAIK SNAPSHOT always refers to the latest build并且无法依赖特定版本。

要解决此问题,您可以在自己的maven存储库中重新发布要依赖的确切版本,并为其指定特定版本。