Maven / M2Eclipse исключает мои ресурсы все время
У меня есть две очень раздражающие проблемы с интеграцией Maven-Eclipse, время от времени это исключает все мои ресурсы в src/main/resources и src/test/resources из пути сборки.
Если я проверяю "Свойства >> Путь сборки Java >> Источник", я вижу, что эти две папки имеют "Исключено: **".
Проблема может быть легко решена нажатием "Удалить" на исключениях, но это действительно очень расстраивает.
Настройка проекта очень проста, имеет несколько модулей и подмодулей, но ничего особенного. В моем pom.xmls нет параметров конфигурации, касающихся ресурсов, затмения или чего-либо еще (может быть, мне следует?).
Другая проблема заключается в том, что Eclipse хранит отчеты о предупреждениях в "целевых" каталогах (в представлении "Проблемы"), где, в первую очередь, это не должно волновать.
Любая помощь приветствуется.
Спасибо заранее, Марк
Ps: Springsource Tool Suite 2.7.0.RELEASE, интеграция Maven для Eclipse 0.12.1.20110112, Maven 2.2.1
2 ответа
Это правильное поведение. Текущая версия M2E предоставляет свой вклад в процесс автоматической сборки в Eclipse IDE. Этот процесс сборки учитывает жизненный цикл maven для генерируемых ресурсов и ресурсов процесса и т. Д., Т. Е. Некоторые проекты имеют плагины, которые генерируют ресурсы из конфигурации и помещают в скомпилированную выходную папку.
Механизм, который вы просматриваете в пути сборки, относится только к встроенным механизмам IDE Eclipse, предназначенным для компиляции / сборки набора папок с исходными файлами в выходные папки. Если бы и Maven, и Eclipse сделали это, возникли бы конфликты / проблемы.
В M2E FAQ есть ссылка на эту точную точку https://www.eclipse.org/m2e/documentation/m2e-faq.html
Если у вас действительно есть проблемы с ресурсами, которые не копируются, возможно, мы сможем решить, почему это так (поскольку это другой вопрос), но ваш главный вопрос касается общего вопроса M2E FAQ.
Может быть, вы хотите перейти на org.eclipse.m2e и Indigo, так как многие сложные Maven проблемы / использование, которые у меня есть, в основном решены или имеют объясненное решение.
,
Я бы порекомендовал вам выполнить "Выполнить как -> Maven -> очистить", а затем "Проект -> Очистить", а затем включить автоматическую компоновку (это необходимо для автоматической сборки на основе Eclipse, не используйте Запуск от имени -> Maven построить, чтобы проверить эту точку). Теперь откройте файловый менеджер вне eclipse и вручную проверьте выходные папки на предмет ресурсов, которые, как вы думаете, не копируются. Вы должны найти, что они там точно так же.
,
Я согласился с предупреждением (возможно, валидацией) об элементах в каталоге target/**, и, хотя в Eclipse есть способ вручную исключить каталог target/** из проверки, эта опция не выходит за рамки чистого проекта (когда целевой каталог удален).
Так что несколько раздражает постоянное ожидание проверки элементов в большом проекте.
Может быть, я пытаюсь проверить, можно ли создать подключаемый модуль Maven Eclipse при условии, что это будет сделано, то есть вяжется с жизненным циклом сборки и автоматически применяет проверку исключения к целевой папке.
Т_Т не хорошее решение. ресурсы не копируются без maven-обновления
maven resources: фаза ресурсов, помеченная как игнорируемая в отображениях жизненного цикла, вызовет эту проблему.
Как указывал Майлз выше, Eclipse не копирует ресурс, поскольку предполагает, что Maven сделает это за вас. Затем, если фаза resources: resources, выполняющая работу в maven, не выполнена, вы получите исключение для файла not found во время выполнения.
чтобы проверить это открыто
проект-> свойства-> maven-> отображение жизненного цикла
и посмотрите, будут ли ресурсы: ресурсы помечены как игнорируемые или нет.
чтобы решить это windows-> preference-> maven-> lifecycle mapping-> open метаданные отображений жизненного цикла рабочей области
затем изменить
<action>
<ignore />
</action>
в
<action>
<execute />
</action>
для цели resources
перезагрузить метаданные и обновить проект maven
должен решить проблему.
Шаг 1. удалить проект из eclipse шаг 2. импортировать проект заново шаг 3. Перейти к папке, которую необходимо добавить в качестве исходной папки.