Я только что провел последний час, просматривая потоки на Stackoverflow.com, пытаясь импортировать проект Maven в Spring ToolSuite 2.5.2.
В проекте Maven есть несколько модулей, когда я использую мастер импорта... в STS для импорта проекта. Все модули перечислены в проводнике пакетов, и некоторые зависимости модулей не разрешены.
Может ли кто-нибудь посоветовать, как правильно импортировать многомодульный проект Maven в STS/Eclipse, чтобы все модули отображались в родительском каталоге? И так все зависимости модулей разрешены?
Проект находится в иерархии в файловой системе, я пробовал различные зависимости обновлений, параметры конфигурации проекта, но все безрезультатно. У меня есть встроенная версия Maven, установленная в IDE.
Спасибо за ваше время.
Ответ 1 · рейтинг 9 · Sean Patrick Floyd
M2Eclipse очень хорошо справляется с устранением межпроектных зависимостей. Если это не работает, возможно, в структуре вашего проекта есть ошибки. Проверь это:
- каждый дочерний проект ссылается на правильную версию родительского проекта
- каждая зависимость имеет версию, соответствующую текущей версии проекта в рабочей области.
- каждый дочерний проект регистрируется как
<module> в родительском pom (профиль должен быть активен, если модуль определен в профиле).
Если эти версии не совпадают, упомянутые артефакты будут извлечены из локального репозитория, а не из рабочей области eclipse.
Об общих корневых проектах: я не думаю, что это хорошая идея иметь общий Project, но концепция Eclipse, которая приходит на ум (и которую я использую для многомодульных проектов), представляет собой Рабочий набор.
В проводнике пакетов переключите Top Level Elements на Working Sets:
Теперь выберите Configure Working Sets ... в том же меню.
Вот рабочий набор с магистралью maven3 и всеми подмодулями в виде отдельных проектов: