Отсутствуют зависимости maven от сборки развертывания

Недавно я обновил Eclipse 4.4.2 (Луна) до 4.5 (Марс). Мой динамический веб-проект теперь не включает зависимости Maven в свою сборку развертывания "Проект-> Свойства-> Сборка развертывания".

Я могу добавить их вручную (используя "Проект-> Свойства-> Сборка развертывания-> Добавить-> Записи пути сборки Java-> Зависимости Maven"), но каждый раз, когда я запускаю "Проект->Maven-> Обновить конфигурацию проекта", Зависимости Maven снова удаляются.

Обратите внимание, что я запускаю проект с использованием Apache Tomcat Server в Eclipse IDE.

Я установил

  • m2e 1.6.0.20150526-2032
  • m2e-wtp 1.2.0.20150602-1740

13 ответов

Это не должно иметь ничего общего с eclipse и m2eclipse и, необязательно, для лучшей поддержки - m2e-wtp. Кроме того, вам не нужны зависимости от копирования. Вот несколько возможных причин:

  • Вы должны вызвать mvn package (или щелкнуть правой кнопкой мыши> maven> package) и получить файл войны - (в pom) должна быть война

    <Упаковка>войны

  • Ваши зависимости должны соответствовать области по умолчанию (если они предоставлены или проверены, они не будут включены в архив)

  • если вы запускаете проект как динамический веб-проект на сервере в рамках Eclipse, то вам нужно открыть свойства проекта (щелкнуть правой кнопкой мыши> свойства) и выбрать "Сборка развертывания". Там нажмите "Добавить", выберите "Построить записи пути" и выберите "maven зависимости". Это будет указывать WTP отправлять зависимости maven на сервер dir.

Можете ли вы попробовать очистить настройку, выполнив следующие шаги

  1. отключить Maven характер приложения:

Right Click Project -> Maven -> Disable Maven Nature

  1. открыть cmd, перейти в местоположение проекта, запустить mvn clean install eclipse:eclipse -Dwtpversion=2.0 (Эта цель просто удаляет .project, .classpath а также .settings/ files/directories, Вы также можете просто удалить эти файлы (опять же, когда проект открыт) вместо запуска mvn eclipse clean.)

  2. Снова включите мавенскую природу. (В большинстве случаев это можно сделать, щелкнув правой кнопкой мыши по рассматриваемому проекту на панели проводника пакетов и выбрав 'Configure'-> 'Convert to Maven Project')

другие вещи, которые вы можете попробовать

1. reimport project into some other workspace 
2. resintall eclipse 

если это все еще не решило вашу проблему, скорее всего, вам может понадобиться Jira затмить команду.

Я решил похожую проблему, выполнив следующие действия в своем веб-проекте:

  • устранение мавенской природы
  • очистка всех сгенерированных файлов m2e
  • добавление мавенской природы
  • alt + F5

Примечание: у меня была эта проблема после добавления maven nature в мои java-проекты, чтобы использовать их с m2e вместо предыдущего плагина maven eclipse (legacy...)

Я решил ту же проблему следующим образом:

  1. Откройте pom.xml и сделайте упаковку war,
  2. Щелкните правой кнопкой мыши по проекту и выберите Maven>Update Project,

Обновит проект, не удаляя Maven Dependencies из Deployment Assembly; И если Maven Зависимости отсутствует Maven>Update Project автоматически добавит его в проект Deployment Assembly

Что я делал - я заменял файл web.xml по умолчанию своим собственным web.xml.

В тот момент, когда я заменил файл web.xml по умолчанию (который создается при создании нового веб-проекта maven), зависимости Maven исчезли из сборки развертывания. Поэтому вместо замены я скопировал и вставил свой контент в исходный файл / файл по умолчанию web.xml.

Это решило мою проблему.

Мой случай был следующим: я даже не смог выбрать "Maven Dependencies" для "Deployment Assembly".

Я мог бы наконец (!) Решить это следующим образом: щелкните правой кнопкой мыши по проекту -> Maven -> Включить разрешение рабочей области.

снова посмотрите в "Deployment Assembly" (свойства проекта), если это сработало.

У меня недавно была такая же проблема, как и ваше описание выше, и я получил ее работать следующим образом:

  1. щелкните правой кнопкой мыши проект> Maven> Отключить Maven Nature
  2. щелкните правой кнопкой мыши проект> Настройка> Преобразовать в проект Maven

Затем вызовите проект обновления Maven, зависимости Maven больше не исчезнут из представления Deployment Assembly.

Я решил эту проблему следующим образом;

  1. скопируйте содержимое файла web.xml и сохраните его где-нибудь для дальнейшего использования.

  2. удалите файл web.xml.

  3. Щелкните правой кнопкой мыши по проекту -> Инструменты Java EE -> Создать заглушку дескриптора развертывания

шаг 3 сгенерирует файл web.xml в папке WEB-INF. затем вы можете вставить сохраненный контент на шаге 1 во вновь созданный файл web.xml.

После этого ваши maven-зависимости не будут удалены из сборки развертывания.

В моем случае другие ответы не работали, пока я не убедился, что все соответствующие конфигурации относительно версии Java выровнены. Это значит:

  • Уровень компилятора Java
  • Целевая версия Java maven-compiler-plugin
  • Среда выполнения JRE установлена.
  • Фасет Java-проекта

Мое решение заключается в том, что версия web.xml не совместима, измените ее с 2.4 на 3.0.

Мое решение было:

Eclipse> Окно> Настройки> Maven > Интеграция с Java EE> Проверка "Включить настройку Java EE"

В моем случае это был pluginExecutionFilter в pluginManagement раздел в pom.xml.

Удаление раздела для org.apache.maven.plugins:maven-war-plugin Устранена проблема, связанная с зависимостями maven, которые могут исчезнуть из сборки развертывания, а также проблема, заключающаяся в том, что после добавления зависимостей maven вручную развертывание также устанавливает тестовые зависимости:

                <!-- Remove to eliminate vanishing maven dependencies
                           <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        org.apache.maven.plugins
                                    </groupId>
                                    <artifactId>
                                        maven-war-plugin
                                    </artifactId>
                                    <versionRange>
                                        [3.0.0,)
                                    </versionRange>
                                    <goals>
                                        <goal>war</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution> -->

Щелкните правой кнопкой мыши Проект> Свойства> Maven.
Снимите флажок и нажмите "Разрешить зависимости от проектов Wrokspace". После этого установите флажок "Разрешить зависимости от проектов Wrokspace" и нажмите "ОК".

Другие вопросы по тегам