java - maven 非标准版本控制导致意外的最新版本结果

标签 java maven version-control

提到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.01.0.91.0.12.21.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/

相关文章:

java - 配置 IntelliJ 以使用 Groovy 编译器而不是 Java 编译器

git - 如何用 Git 发布?

git - 删除特定提交但之后保留所有提交

linux - Eclipse CDT Linux ClearCase SCM Adapter 插件安装问题

java - 从 PACS 服务器检索 DICOM 图像时出错

Java:大集合和并发线程

Gradle 中的 Maven jaxb2 插件

java - 在 tomcat 中,我写了 tomcat :run , 在 Eclipse 中构建 Maven 项目时,玻璃鱼应该怎么办?

使用 Request Dispatcher 的 Java Filter - 使用 JavaEE 6 Annotations

java - sonar-maven-plugin fails because of invalid checkstyle.xml (The processing instruction target matching "[xX][mM][lL]"is not allowed)