Неожиданный результат последней версии из-за нестандартного управления версиями maven - PullRequest
0 голосов
/ 28 июня 2019

Упоминается здесь , что

Если вы не соблюдаете стандарты управления версиями Maven в своей схеме управления версиями проекта, то для сравнения версий Maven интерпретирует всю версию как простую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

Есть проект, над которым я сейчас работаю.Он зависит от пакета com.example.http с версией 1.0.12.2.Сейчас есть несколько обновлений.Подмножество версий: (* ​​1016 *, 1.0.9, 1.0.12.2, 1.0.16).Поскольку он не соответствует стандартам управления версиями Maven, я ожидаю, что порядок этих версий будет:

1.0.0
1.0.12.2
1.0.16
1.0.9

Q1: Однако, когда я запускаю mvn versions:display-dependency-updates, он сказал, что 1.0.16 была самой обновленной версией.Почему?

Q2: Должен ли я что-то сделать для удаления нестандартного 1.0.12.2?Примечания: все, кроме 1.0.12.x, соответствует стандарту версий Maven

[INFO] com.example:http ............................ 1.0.12.2 -> 1.0.16

1 Ответ

2 голосов
/ 28 июня 2019

Механизм изменился около 10 лет назад, поэтому ваша информация устарела. Maven может сортировать произвольно длинные номера версий, см., Например, https://blog.soebes.de/blog/2017/02/04/apache-maven-how-version-comparison-works/

Дополнительную информацию также можно найти в ответе https://stackoverflow.com/a/31482463/927493

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...