#java #maven #pom.xml #multi-module
#Ява #знаток #pom.xml #многомодульный
Вопрос:
Я создал многомодульный проект Maven в Intellij. Структура состоит в следующем
parent |-module1 | |-module2 | |-module3
Сначала я попытался создать родительский модуль, все было в порядке. Но затем я добавил класс в модуле 2 и использовал его в модуле 1. Поэтому я добавил зависимость в модуле1 pom.xml
lt;dependencygt; lt;groupIdgt;org.examplelt;/groupIdgt; lt;artifactIdgt;module2lt;/artifactIdgt; lt;versiongt;1.0-SNAPSHOTlt;/versiongt; lt;scopegt;compilelt;/scopegt; lt;/dependencygt;
Но когда я пытаюсь построить родительский элемент (или модуль 1), я получаю следующее
[INFO] Building 2 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [WARNING] The POM for org.example:module2:jar:1.0-SNAPSHOT is missing, no dependency information available [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.188 s [INFO] Finished at: 2021-12-02T23:29:35 01:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project module1: Could not resolve dependencies for project org.example:module1:jar:1.0-SNAPSHOT: Could not find artifact org.example:module2:jar:1.0-SNAPSHOT -gt; [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
Как я понимаю, он пытается загрузить зависимость из центрального репозитория maven. У меня вообще нет никаких конфигураций репозитория. У меня заканчиваются идеи, что еще можно попробовать.
Можете ли вы помочь это исправить?
Ответ №1:
Скорее всего, это порядок сборки вашего модуля — как указано в родительском ПОМ. Для Module1 требуется класс из module2, и этот модуль (module2) еще не построен. Попробуйте поменять местами порядок модулей 1 и 2 в родительском POM, чтобы модуль 2 был построен до модуля 1.
Комментарии:
1. Переключенные модули 1 и 2 в родительском pom.xml и все равно возникает та же проблема.
2. Можете ли вы распечатать результат выполнения чистой установки mvn на родительском POM?
3. Все еще получаю [ОШИБКА] Не удалось выполнить цель в модуле 1 проекта: Не удалось разрешить зависимости для организации проекта.пример:модуль 1:jar:1.0-СНИМОК: Не удалось найти организацию артефакта.пример:модуль 2:jar:1.0-СНИМОК -gt; [Справка 1].
4. Я не могу помочь, не увидев вашу команду и весь результат ее выполнения, не могли бы вы скопировать и вставить все это сюда, чтобы я мог это увидеть?
5. Также было бы целесообразно раскрыть все три файла POM.