По моему мнению, они должны быть эквивалентны, но для некоторых зависимостей LATEST не соответствует ни одной версии, тогда как [0,) соответствует.
Теоретически, LATEST является последней выпущенной версией.или версия моментального снимка (см. отличный ответ от Rich продавца о специальных версиях RELEASE и LATEST), поэтому я действительно ожидал бы того же поведения, что и с диапазоном [0,)
.Из любопытства, можете ли вы привести пример, когда LATEST не совпадает?
При этом я не рекомендую использовать специальные версии LATEST или RELEASE, поскольку они делают вашу сборку более хрупкой и наносят ущерб воспроизводимости сборки.(вы на самом деле не хотите, чтобы ваша сборка внезапно начинала давать сбой из-за неконтролируемого обновления).По общему признанию, они считаются плохой идеей, и ссылки были удалены из документации (кроме непереведенной части немецкой версии Полного руководства), и они больше не поддерживаются в Maven 3.x ,
Таким образом, вы настоятельно приглашены не использовать их вообще (плохая практика, устарела, не поддерживается в следующей версии).
И я почему-то считаю, что применимо то же самоек диапазонам версий (вообще), я не рекомендую их также, поскольку я написал много раз в предыдущих ответах или комментариях.См., Например:
Продолжение после комментария
Вот пример (среди многих):
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>[0,)</version>
</dependency>
-> соответствует версии 1.5.3, тогда как:
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>LATEST</version>
</dependency>
-> не может быть разрешено
Iя не на 100%, но я не думаю, что этот артефакт предоставляет право maven-metadata.xml
для работы этой функции.Я думаю, что метаданные должны включать элементы <release>
и <latest>
, как для плагинов maven (см., Например, это maven-metadata.xml
).Но я бы не стал тратить на это слишком много времени по вышеупомянутым причинам, просто забудьте об этом LATEST
.