Решение PluginResolutionException в Maven: работа в Eclipse
Быстрый ответ
Проверьте стабильность сетевого подключения к центральному репозиторию Maven – это основа для работы Maven. Если вы используете прокси, настройте параметры прокси в settings.xml
. В pom.xml
необходимо явно указать версию maven-resources-plugin
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
</plugin>
Проверьте версию Maven с помощью команды mvn -v
и обновитесь, если это необходимо. Если проблема предстоит, сбросьте плагин в локальном репозитории (~/.m2/repository/
).
Проверка доступа к Maven Central
Сначала убедитесь, что центральный репозиторий Maven доступен, проверьте их веб-сайт или Twitter на предмет сообщений о сбоях.
Синхронизация настроек .m2
Настройки в settings.xml
должны совпадать между MAVEN_HOME\conf\
и USER_HOME\.m2\
. Некорректная настройка прокси и URL-адресов репозиториев может вызвать проблемы.
Обновление локального репозитория
Очистите ваш локальный репозиторий .m2
от ненужных и повреждённых файлов:
mvn dependency:purge-local-repository
Используйте флаг -U
для принудительного обновления:
mvn -U clean install
Синхронизация Eclipse с Maven
Если вы работаете в Eclipse, убедитесь, что используются внешний Maven через Window > Preferences > Maven > Installations. Также проверьте, что на диске имеется достаточно свободного пространства.
Ручная установка плагина
Если автоматическая установка не проходит успешно, воспользуйтесь ручной установкой плагина с помощью .jar
и .pom
файлов:
mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>
Ссылки для скачивания:
- Jar: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar
- Pom: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom
Управление плагинами через POM
Добавьте управление плагинами в pom.xml
, что упростит дальнейшую настройку:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</pluginManagement>
</build>
Визуализация
Представьте проект в виде поезда (🚂), где каждый плагин или зависимость – это вагон (📦📦📦). Отсутствие maven-resources-plugin:2.5
сродни потере котла для нагрева:
🚂: Двигатель – ядро Maven
📦: [Зависимость 1], [Зависимость 2], ..., ❓(maven-resources-plugin:2.5)
Используйте следующие шаги как карту поиска решений:
🔎 Проверка сетевых настроек и репозитория.
🔄 Использование команды "mvn -U" для обновления и разрешения зависимостей.
🔄 Очистка локального репозитория .m2 и повтор попытки.
🛠️ Настройка Eclipse и при необходимости использование внешнего Maven.
Облегчение работы с Maven
Предотвращение конфликтов зависимостей столь же важно, как и правильный выбор инструментов.
Разрешение конфликтов версий
Используйте maven-enforcer-plugin
, чтобы обнаружить и разрешить конфликты версий в pom.xml
.
Расшифровка результатов сборки
Расшифруйте результаты сборки и журналы отладки с помощью команды mvn clean install -X
. Они могут дать ответы на ваши вопросы.
Обновление плагина
Проверьте наличие новой версии maven-resources-plugin
, которая может решить текущие проблемы.
Полезные материалы
- Apache Maven Resources Plugin – Введение — официальная документация по плагину ресурсов Maven.
- Maven – Введение в жизненный цикл сборки — общее представление о жизненном цикле сборки Maven.
- Maven – Введение в механизм зависимостей — как Maven управляет зависимостями.
- Maven – Руководство по настройке зеркал — использование зеркал для оптимизации разрешения зависимостей.
- Apache Maven Dependency Plugin – Введение — управление зависимостями с помощью Maven.