2012-08-14 57 views
0

如何告诉maven总是使用最新的稳定版本的依赖关系?有没有办法告诉maven总是使用最新的_stable_版本的依赖关系?

我知道我可以依赖于最新发行版本,或只是最新的版本无论是从this问题。我也知道我可以使用依赖插件(也来自该链接)。

不过,我使用谷歌的番石榴库,似乎每个星期才能更新。我发现自己一直在更新版本。这是谷歌版本管理系统,它比大爆炸更新更像是一个增量更新,因此它不太可能会破坏任何东西,特别是考虑到这个库的性质。

所以我想不必不断地改变我的行家依赖的版本标识符。 所以我能做到这一点:

<dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>[12.0.1,)</version> 
    </dependency> 

这将使我12.0.1及更高版本的...因为我不取决于将要提供这种依赖本的任何抓拍版本的任何回购协议将确保我始终拥有最新的发行版本。

但是,它也会给我的“RC”版本,以及(13.0 RC1和13.0 RC2)。这是我想要避免的。

是否有可能使maven只依赖稳定版本?即其名称中没有任何“rc”或“beta”或“alhpa”,并且只是简单的“13.0”。

回答

2

您可以使用版本元素释放价值为你的依赖让Maven使用最新发布的版本。然而,这不是最好的做法,因为它可以打破构建的可重复性。

此外,Maven的不要让类似的版本12.0.1和13.0 RC1之间的逻辑差异。从Maven的角度来看,它们都是发布版本,基本上你要做的就是打破Maven以几种方式发布意识形态。

因此,您不应该像13.0-rc1那样版本化工件,而应该定期发布并使用特殊存储库和工件促销流程作为您版本的参考。因此,您可以拥有一个可在测试期间使用的发布候选版本库,一旦测试通过,您就可以将这些构件升级到最终版本库。但是,如果你需要进行更改,你只需更新发布的版本,所以13.0,13.0.1等...

+0

我依赖的库不是我自己的,所以我无法控制依赖项命名 - 如果我有,我不会这样做);如果可以的话,请给我指出一些关于“Maven的依赖意识形态”的文档......想了解更多信息。 – 2012-08-15 11:24:39

相关问题