Maven版本排序:alpha与a等效性不符的问题咨询
Maven版本比较中alpha与a为何表现不一致?
最近我在研究Maven的版本排序规则,先是参考了相关的版本对比说明,然后按照推荐的命令行测试方法,用maven-artifact-3.5.0.jar做了两组版本对比测试,结果却让我很困惑:
第一组测试:对比2.0.0和2.0.0-a
执行命令:
C:\coprogramme\apache-maven-3.5.0\lib>java -jar maven-artifact-3.5.0.jar 2.0.0 2.0.0-a
得到的解析与对比结果:
Maven解析后的规范形式参数及比较结果:
- 2.0.0 == 2
2.0.0 < 2.0.0-a- 2.0.0-a == 2-a
第二组测试:对比2.0.0和2.0.0-alpha
执行命令:
C:\coprogramme\apache-maven-3.5.0\lib>java -jar maven-artifact-3.5.0.jar 2.0.0 2.0.0-alpha
得到的解析与对比结果:
Maven解析后的规范形式参数及比较结果:
- 2.0.0 == 2
2.0.0 > 2.0.0-alpha- 2.0.0-alpha == 2-alpha
按照官方的Javadoc说明,alpha和a应该是等效的预发布版本标识,但从测试结果来看,2.0.0-a比2.0.0版本更高,而2.0.0-alpha却比2.0.0版本更低,这明显矛盾。有没有人能解释一下这个现象背后的原因?
内容的提问来源于stack exchange,提问作者JF Meier
相关产品推荐
相关产品推荐

