Ответ 1
Используйте более позднюю версию плагина maven-dependency.
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
.... your configuration here ....
</plugin>
Я использую индексатор maven для извлечения индекса maven из центрального хранилища maven. Поскольку я обновлялся с org.sonatype.aether до org.eclipse.aether и с maven 3.0.5 до maven 3.1.0, я получаю это исключение.
Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.version.InvalidVersionSpecificationException
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
Maven говорит мне, что я должен проверить эту страницу: http://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound. Сделал это. Но на странице они просто говорят, что они знают об этой проблеме, и они обновили некоторые плагины maven для работы с maven 3.1.0. Но они не говорят, в чем проблема и как ее решить. Это не очень полезно. Что мне нужно изменить, чтобы мой собственный плагин работал с maven 3.1.0???
Я дважды проверял свои зависимости с помощью:
mvn dependency:tree
И кажется, что старый org.sonatype.aether.aether-api.jar все еще находится в проекте, который содержит Исключение. Итак, в основном проект org.sonatype.aether.version.InvalidVersionSpecificationException является частью моего проекта. Так почему я получаю это исключение?
Используйте более позднюю версию плагина maven-dependency.
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
.... your configuration here ....
</plugin>
Эта ошибка вызвана миграцией Maven 3.1-alpha-1 из эфира Sonatype в Eclipse Aether, что является несовместимым изменением для некоторых плагинов.
Чтобы поддержать это изменение, были опубликованы новые версии затронутых плагинов, которые работают как с Maven 3.0.x, так и с 3.1.x. Список уязвимых подключаемых модулей и их минимальная необходимая версия доступна по адресу https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound