Eclipse прекратил развертывание любых зависимостей проекта [maven] для tomcat

У меня эта проблема уже какое-то время. Я перепробовал так много вещей, которые потерпели неудачу, что мне пришлось переключиться на netbeans, чтобы иметь возможность развиваться. Но в netbeans отсутствуют некоторые важные функции, поэтому мне действительно нужно, чтобы это работало в eclipse.

С нуля: у меня есть «родительский» проект maven с несколькими модулями в нашем репозитории svn. 2 модуля - это веб-проекты, которые мне нужно развернуть на сервере Tomcat. Эти веб-проекты имеют несколько зависимостей, среди которых есть другие модули родительского проекта maven.

У меня была эта конфигурация, работающая с eclipse ganymede, но 3 недели назад я начал получать ClassNotFoundExceptions при запуске сервера, я понятия не имею, почему это началось.

С тех пор я пытался получить новые пакеты Eclipse (Java EE), но как бы я это ни делал, вот что происходит:

  • Я получаю eclipse с запущенным maven + svn и добавляю свою установку tomcat в список серверов eclipse.
  • Я проверяю родительский проект, он включает модули. Eclipse дает мне целый список проектов.
  • Начинается чушь: я не могу добавить 2 веб-проекта в tomcat, он говорит мне, что никакие проекты не могут быть добавлены (что означает «у вас нет никаких веб-проектов!»). Кроме того, я не могу выбрать «Запуск от имени -> Запуск на сервере» для классов сервлетов («Выбор не содержит ресурсов, которые могут выполняться на сервере»), даже если они явно расширяют HttpServlet. Поскольку я потратил на это слишком много часов, я узнал, как с этим бороться: преобразовать проект в «Граненый проект» в свойствах проекта.
  • Теперь я могу добавить оба проекта на сервер Tomcat.
  • При запуске сервера я получаю

    FATAL: Ошибка загрузки контекста WebappClassLoader: / делегат BEWeb: ложные репозитории: / WEB-INF / classes / ----------> Родительский загрузчик классов: org.apache.catalina.loader.StandardClassLoader@55ae3b4d de.comp. utils.servlet.SInvokerServlet

  • Этот класс находится в одном из модулей, перечисленных как зависимость

  • WEB-INF/lib развернутого проекта пусто. Никаких библиотек, maven и / или eclipse не делают того, что делали 3 недели назад.

Я пробовал возиться с файлами eclipse в .settings, а также с .project и .classpath, но ничего полезного не вышло. Может ли кто-нибудь указать мне правильное направление? Я сделаю все с нуля, если вам нужно, это не будет иметь значения, поскольку я делал это уже много раз (с разными версиями eclipse, maven, tomcat, ...) Если вам нужно, чтобы я опубликовал какие-либо файлы, я буду рад подчиняться.

Поскольку это не давало мне спать по ночам в течение некоторого времени, я назначу награду за эту. спасибо до сих пор.

================================

ИЗМЕНИТЬ, чтобы ответить на следующие вопросы

Просто чтобы проверить: сборка ваших проектов из командной строки и их развертывание вручную работает, не так ли?

Да, mvn package работает нормально, копирование этого файла .war в tomcat приводит к созданию рабочего приложения, также файл war содержит все зависимости.

Когда вы говорите «получите новые пакеты Eclipse (Java EE)», вы имеете в виду, что теперь используете Eclipse Indigo (3.7)?

да. Но у меня были те же проблемы с 3.5, версии eclipse не показали никакой разницы в своем поведении.

Когда вы говорите: «Я получаю eclipse с запущенным maven + svn», вы используете m2eclipse или сгенерировали конфигурацию eclipse с помощью плагина maven eclipse?

Я установил m2e и проверил проекты из svn с помощью «Щелкните правой кнопкой мыши -> Оформить заказ как проект Maven». Однако в репозитории нет файлов, специфичных для eclipse, похоже, они генерируются при оформлении заказа. Когда я использую mvn eclipse:eclipse, затем закрываю + снова открываю проекты, я не могу добавить их на сервер tomcat («Нет ресурсов, которые можно добавить или удалить с сервера»), что означает, что eclipse не распознает их как веб-проекты.


person f1sh    schedule 08.09.2011    source источник
comment
Просто чтобы проверить: сборка ваших проектов из командной строки и их развертывание вручную работает, не так ли?   -  person Nicola Musatti    schedule 08.09.2011
comment
Когда вы говорите получить новые пакеты Eclipse (JEE), вы имеете в виду, что теперь используете Eclipse Indigo (3.7)?   -  person Raghuram    schedule 08.09.2011
comment
Когда вы говорите, что я получаю eclipse с запущенным maven + svn, вы используете m2eclipse или сгенерировали конфигурацию eclipse с помощью плагина maven eclipse?   -  person Raghuram    schedule 08.09.2011


Ответы (1)


Прежде всего: не используйте maven-eclipse-plugin вместе с m2e / m2eclipse, они несовместимы. m2e должен иметь возможность импортировать ваши проекты Maven и настраивать их в соответствии с ожиданиями Eclipse.

Вы устанавливали надстройку WTP для m2e? Этот сообщение в блоге, возможно, стоит прочитать. Если какой-либо из ваших файлов pom.xml вызывает какой-либо конкретный плагин (например, для генерации кода), вам может потребоваться соответствующее дополнение m2e. Это сообщение в вики может дать вам представление о том, почему.

Еще одна попытка, которую вы можете рассмотреть, - это настройка среды на основе Helios. Тем не менее, убедитесь, что все плагины, которые могут вам понадобиться, по-прежнему доступны.

Надеюсь, это поможет.

person Nicola Musatti    schedule 08.09.2011
comment
Это решило это !!! Эти 2 ссылки очень помогли. Мне не хватало m2e-wtp, настроить все плагины, которые мне нужны, действительно беспорядочно. Поскольку я обещал награду, мне придется подождать, пока я не начну с этого вопроса, тогда я приму это! Спасибо! - person f1sh; 09.09.2011
comment
Очень мило с Вашей стороны! Я должен сказать, что это причина, по которой я не ухожу от Helios, пока не смогу потратить время, чтобы убедиться, что все, что мне нужно, работает в Indigo (или за его пределами) - person Nicola Musatti; 09.09.2011
comment
Итак, вкусной награды! - person f1sh; 10.09.2011