如何让maven在版本范围内使用最新版本?

时间:2013-01-21 03:19:05

标签: maven maven-2

在我的maven项目中,我使用这样的依赖:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>[4.2.2, 5.0)</version>
</dependency>

由于下一个主要版本(5.0)可能会更改API,我希望我的项目使用分支4.x可用的最新稳定版本。

今天早上的错误调查告诉我,这个表达式[4.2.2,5.0]抓住了任何版本。就我而言:4.3-alpha1。

如何让maven在版本范围内使用最新版本?

2 个答案:

答案 0 :(得分:16)

查看Maven range selections的文档,我注意到了评论:

  

依赖关系范围的解析不应解析为快照(开发版本),除非它被包含为显式边界。

除非工件版本以-SNAPSHOT结尾,否则Maven会将其视为有效的发布版本。据我所知,-alpha1对Maven没有特殊意义。这只是另一个随机资格赛。

无论如何,我强烈建议您放弃版本范围。可预测的构建应该是任何稳定项目的目标,并且版本范围也是如此。

答案 1 :(得分:0)

Maven 3也支持alpha,beta和快照的版本控制 按以下顺序 alpha < beta < snapshot