提到here那个
If you do not follow Maven versioning standards in your project versioning scheme, then for version comparison, Maven interprets the entire version as a simple string
从示例中,我们可以看到1.0.9.3
应该被视为比1.0.10.1
更新更多
1.0.1.0
1.0.10.1
1.0.10.2
1.0.9.3 < most updated version
我目前正在做一个项目。它依赖于版本号为 1.0.12.2
的包 com.example.http
。现在有几个更新。版本的子集为(1.0.0
、1.0.9
、1.0.12.2
、1.0.16
)。由于它不遵循 Maven 版本控制标准,我希望这些版本的顺序是:
1.0.0
1.0.12.2
1.0.16
1.0.9
第一季度:
但是,当我运行 mvn versions:display-dependency-updates
时,它说 1.0.16
是最新版本。为什么?
第二季度:
我应该采取措施删除非标准 1.0.12.2
吗?注意:除了 1.0.12.x
之外,所有版本都遵循 Maven 版本控制标准
[INFO] com.example:http ................................. 1.0.12.2 -> 1.0.16
最佳答案
该机制大约在 10 年前发生了变化,因此您的信息已经过时。 Maven 能够对任意长的版本号进行排序,请参见例如https://blog.soebes.de/blog/2017/02/04/apache-maven-how-version-comparison-works/
更多信息也可以在答案https://stackoverflow.com/a/31482463/927493中找到
关于java - maven 非标准版本控制导致意外的最新版本结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56801147/