Проблема с импортом многомодульного проекта maven в Eclipse (STS 2.5.2)

Я только что провел последний час, просматривая потоки на Stackoverflow.com, пытаясь импортировать проект Maven в Spring ToolSuite 2.5.2.

В проекте Maven есть несколько модулей, когда я использую мастер импорта... в STS для импорта проекта. Все модули перечислены в проводнике пакетов, и некоторые зависимости модулей не разрешены.

Может ли кто-нибудь посоветовать, как правильно импортировать многомодульный проект Maven в STS/Eclipse, чтобы все модули отображались в родительском каталоге? И так все зависимости модулей разрешены?

Проект находится в иерархии в файловой системе, я пробовал различные зависимости обновлений, параметры конфигурации проекта, но все безрезультатно. У меня есть встроенная версия Maven, установленная в IDE.

Спасибо за ваше время.


person C0deAttack    schedule 07.03.2011    source источник


Ответы (2)


M2Eclipse очень хорошо справляется с устранением межпроектных зависимостей. Если это не работает, возможно, в структуре вашего проекта есть ошибки. Проверь это:

  • каждый дочерний проект ссылается на правильную версию родительского проекта
  • каждая зависимость имеет версию, соответствующую текущей версии проекта в рабочей области.
  • каждый дочерний проект регистрируется как <module> в родительском pom (профиль должен быть активен, если модуль определен в профиле).

Если эти версии не совпадают, упомянутые артефакты будут извлечены из локального репозитория, а не из рабочей области eclipse.


Об общих корневых проектах: я не думаю, что это хорошая идея иметь общий Project, но концепция Eclipse, которая приходит на ум (и которую я использую для многомодульных проектов), представляет собой Рабочий набор.

В проводнике пакетов переключите Top Level Elements на Working Sets:

Элементы верхнего уровня › Рабочие наборы

Теперь выберите Configure Working Sets ... в том же меню.

Вот рабочий набор с магистралью maven3 и всеми подмодулями в виде отдельных проектов:

многомодульный рабочий набор

person Sean Patrick Floyd    schedule 07.03.2011
comment
M2Eclipse установлен по умолчанию в STS, должен был упомянуть об этом, извините. Что касается возможных ошибок, я просмотрел файлы pom.xml в модулях, и все они, похоже, в порядке. - person C0deAttack; 07.03.2011
comment
@ C0deAttack Я знаю, извините, я был неясен. Я не хотел, чтобы вы устанавливали m2eclipse, а искали плохие версии. Это известная проблема в m2eclipse, если версии не совпадают. - person Sean Patrick Floyd; 07.03.2011
comment
Я не знаю, как, но зависимости разрешились сами собой после выполнения mvn clean package в командной строке, а затем импорта существующего проекта Maven в STS. Все еще не уверен, как я могу сделать так, чтобы все модули отображались в 1 общем корневом каталоге проекта ?? - person C0deAttack; 08.03.2011

Уродливый трюк - но иногда может помочь:

  • mvn clean eclipse:clean eclipse:eclipse
  • Импортируйте проекты как обычно Проект Eclipse
  • включить управление зависимостями Maven
  • Выполните Обновить конфигурацию проекта для всех модулей.
person Dmytro    schedule 09.03.2011