在我的maven项目中,我使用了如下依赖关系:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>[4.2.2, 5.0)</version>
</dependency>
由于下一个主要版本(5.0)可能会更改,因此我希望我的项目使用可用于分支4.x的最新稳定API版本。
今天早上的bug调查告诉我,这个表达式[4.2.2,5.0] grabs 任何可用的版本。在我的例子中: 4.3-alpha1。
如何让maven使用版本范围内的最新发布版本?
发布于 2013-01-21 08:32:37
查看Maven range selections的文档时,我注意到下面的注释:
依赖项范围的
解析不应解析为快照(开发版本),除非它作为显式边界包含在内。
除非工件版本以-SNAPSHOT
结束,否则Maven会认为它是一个有效的发布版本。据我所知,-alpha1
对Maven没有特别的意义。这只是另一个随机的限定符。
不管怎样,我强烈建议你放弃版本范围。可预测的构建应该是任何稳定项目的目标,而版本范围则与此背道而驰。
发布于 2016-06-21 14:08:35
Maven 3还支持alpha、beta和snapshots的版本控制,顺序alpha < beta < snapshot
如下
https://stackoverflow.com/questions/14432039
复制