#maven #versions
#maven #Версии
Вопрос:
У меня есть проект Maven, который зависит от версии Javassist3.12.1.GA и имеет 2 репозитория (в дополнение к центральному): JBoss (https://repository.jboss.org/nexus/content/groups/public ) и Java.net (http://download.java.net/maven/2 ).
Вот последние доступные версии Javassist для каждого репозитория:
- Центральный: 3.12.1.GA
- JBoss: 3.12.1.GA (содержит также версию 3.3, см. Ниже)
- Java.net : 3.3 (единственная доступная версия)
Когда я запускаю mvn versions:display-dependency-updates
, он говорит, что я мог бы обновить версию Javassist:
javassist:javassist ......... 3.12.1.GA -> 3.3
Это означает 3.3 > 3.12.1.GA
, что в данном конкретном случае неверно!
Как я могу сообщить плагину versions, что он не должен касаться javassist или что он должен использовать другой порядок для этой конкретной зависимости?
Комментарии:
1. Вы должны определить свои собственные правила с помощью плагина versions, потому что javaassist не следует способу Maven с нумерацией версий.
Ответ №1:
Причина в том, что Maven обрабатывает номера версий, которых нет в формате Maven, как строку, и, следовательно, 3.3 больше, чем 3.12.1.GA Вы можете использовать versions-maven-plugin и определить исключение для javassist ( -Dexcludes=javassist:javassist). Или вы можете написать свою собственную версию для сравнения и использовать ее в качестве набора правил.
Если вы используете свой собственный менеджер репозиториев, то вы, конечно, можете вручную добавить туда javassist jar с правильной нумерацией версий Maven, чтобы versions-maven-plugin работал так, как задумано.