Ответ 1
Я смог выполнить это, и все работает отлично. Вот что делать:
Прежде всего вам нужен плагин M2E Eclipse, который необходим, чтобы Eclipse автоматически распознавал и обновлял зависимости Maven. Он также предоставляет красивый графический редактор POM. По состоянию на конец 2011 года проект M2Eclipse был пожертвован Фондом Eclipse сонатом и теперь называется просто M2E. Тем не менее, он по-прежнему не поставляется с выпуском Java EE Eclipse Indigo и должен быть установлен отдельно через сайт обновлений
В прошлом интеграция между Eclipse и Maven была несколько хлопотной. Тем не менее, эта новая интеграция Maven в Eclipse теперь осознает тот факт, что в POM файлах есть много плагинов Maven и что только определенные цели некоторых плагинов имеют смысл в среде IDE. Кроме того, те цели, которые имеют смысл при работе внутри IDE, могут нуждаться в специальной конфигурации. Для правильной работы с этим M2E теперь поддерживается понятие "коннектор"
M2E имеет длинный список специальных разъемов, которые позволяют ему делать "правильную вещь" при вызове различных моджо (цели плагина Maven). Чтобы просмотреть список доступных разъемов в Eclipse, перейдите в диалог настроек и выберите Maven- > Dicovery- > Open Catalog. Предполагается, что эти соединители устанавливаются автоматически при обнаружении в файле {{pom.xml}} во время импорта проекта. Однако для этого требуется правильная версия мастера импорта M2E Maven (который Indigo не имеет до SR2).
Кроме того, иногда эти разъемы являются ошибками, и нам нужно использовать ночные или бета-версии для получения последних исправлений. Если у вас установлена более старая или баггированная версия, вам необходимо удалить и повторно импортировать проекты после обновления. По этим причинам, на мой взгляд, все соединители M2E должны быть установлены вручную до импорта вашего проекта в Eclipse.
Разъем M2E-WTP - это тот, который вам нужен, чтобы накладывать WAR-накладки в пусковых установках Eclipse для Eclipse "Servers". Этот соединитель используется для интеграции Maven с WTP... и таким образом обрабатывает WAR-накладки, настройку контейнера сервлетов, конфигурацию WTP Eclipse, настройку корневого контекста и другие вещи, которые все направлены на создание веб-инструмента Eclipse "Just Work", когда модуль Maven WAR импортируется в Eclipse в качестве проекта.
Сайт обновления для соединителя m2e-wtp: http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/
Добавьте этот сайт M2E-WTP и установите соединитель. Обратите внимание, однако, что ни M2E, ни соединитель M2E-WTP не будут устанавливать зависимости WAR WAR в WAR. Вы должны сделать это, добавив необходимые зависимости к окончательному WAR pom.xml. Я не знаю, почему инструменты не делают этого, но они этого не делают - так просто передержитесь.; -)
На этом этапе я также рекомендую сделать полное обновление с помощью {{Help- > Check for Updates}}. Как только это будет сделано, вы сможете просто добавить сервер Eclipse, щелкнуть на своем проекте (а не накладывать один, но обычный) и выбрать "Запустить на сервере...".
Изменения, внесенные в WAR или оверлейную WAR, будут автоматически опубликованы на ваш сервер. Изменения в Javascript публикуются без перезагрузки сервера... все, что вам нужно сделать, это нажать обновление в браузере, чтобы увидеть, как работает новый код.
Второе обновление. В M2E есть ошибка (https://issues.sonatype.org/browse/MECLIPSEWTP-174), которая может привести к WEB- INF/lib случайно потерял все свои JAR файлы. Когда это произойдет, ваше приложение сервлета, очевидно, не запустится. Обходной путь - очистить сервер, щелкнув прямо на сервере и выбрав "clean". Обратите внимание, что очистка только рабочего каталога не приведет к восстановлению этих отсутствующих JAR.