У меня есть две очень неприятные проблемы с интеграцией 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
Вы решили это? Anmol Gupta 11.06.2016
Можете ли вы отредактировать этот вопрос, чтобы он содержал один вопрос вместо двух? @AnmolGupta, разве принятое решение не работает для вас? Line 10.10.2018
Это правильное поведение. Текущая версия M2E предоставляет собственный компонент для автоматического процесса сборки внутри Eclipse IDE. Этот процесс сборки учитывает жизненный цикл maven для ресурсов генерации и ресурсов процесса и т. д. т. е. в некоторых проектах есть плагины, которые генерируют ресурсы из конфигурации и помещают в скомпилированную выходную папку.
Механизм, на который вы смотрите в пути сборки, относится только к встроенному механизму Eclipse IDE для компиляции/сборки набора входных исходных папок в выходные папки. Если бы и Maven, и Eclipse сделали это, возникли бы конфликты/проблемы.
Если у вас действительно есть проблемы с тем, что ресурсы не копируются, возможно, мы сможем решить, почему это так (поскольку это другой вопрос), но ваш главный вопрос касается общего пункта часто задаваемых вопросов M2E.
Возможно, вы захотите перейти на org.eclipse.m2e и Indigo, так как многие сложные проблемы/использование Maven, которые у меня есть, в основном решены или имеют объясненное решение.
.
Я бы порекомендовал вам выполнить "Запуск от имени -> Maven -> очистить", а затем "Проект -> Очистить", а затем включить автоматическую сборку (это позволяет выполнять автоматическую сборку на основе Eclipse, не используйте Запуск от имени -> Maven построить, чтобы проверить этот момент). Теперь откройте файловый менеджер вне eclipse и вручную проверьте выходные папки на наличие ресурсов, которые, по вашему мнению, не копируются. Вы должны найти, что они там точно такие же.
.
Я согласился с (вероятно, проверкой) предупреждением об элементах в каталоге target/**, и, хотя у Eclipse есть способ вручную исключить каталог target/** из проверки, эта опция не выходит за пределы чистоты проекта (когда целевой каталог удален).
Поэтому несколько раздражает постоянное ожидание проверки элементов в большом проекте.
Возможно, я попытаюсь посмотреть, можно ли создать подключаемый модуль Maven Eclipse для этого, то есть привязать к жизненному циклу сборки и автоматически применить Exclude Validation к целевой папке.
Ответ 2 · рейтинг 1 · owensss
Т_Т не лучшее решение. ресурсы не копируются без maven-update
maven resources: фаза ресурсов, помеченная как проигнорированная в сопоставлениях жизненного цикла, вызовет эту проблему.
Как указывал Майлз выше, eclipse не копирует ресурс, поскольку предполагает, что maven сделает это за вас. Затем, если фаза ресурсов: ресурсы, которые выполняют задание в maven, не выполняются, вы получаете исключение файла, не найденного во время выполнения.
проверить это открыто
проект- > свойства- > maven- > сопоставление жизненного цикла
и посмотрите, отмечены ли ресурсы: ресурсы как проигнорированные или нет.
чтобы решить эту проблему, Windows- > Preference- > Maven- > сопоставление жизненного цикла- > открытые метаданные сопоставления жизненного цикла рабочего пространства
затем изменить
<action>
<ignore />
</action>
to
<action>
<execute />
</action>
для цели resources
перезагрузить метаданные и обновить проект maven
должен решить проблему.
Ответ 3 · рейтинг -1 · Sujeet
Шаг 1. Удалите проект из eclipse. Шаг 2. Импортируйте проект заново. Шаг 3. Перейдите в папку, которую необходимо добавить в качестве исходной папки.