В разрешении рабочей области Maven отсутствуют файлы jar для локального тестирования Tomcat - PullRequest
3 голосов
/ 13 января 2011

У меня есть проект mavenized с зависимостями от 4 других проектов mavenized, над которыми сейчас работает моя команда.У нас включено «разрешение рабочего пространства».

Если я опубликую в Tomcat, файлы jar будут недоступны для 4 проектов, поэтому я вижу все виды исключений NoClassDefFoundError.Я не вижу проблем с тестированием или упаковкой JUnit.(Я запускаю цель пакета, и полученный файл войны включает ожидаемые файлы SNAPSHOT.)

Я вижу, что многие люди выступают за использование разрешения рабочего пространства, но если нам нужно протестировать в Tomcat, следует ли отключить этот?Или что еще я мог упустить?

Мы используем Eclipse Helios, плагин m2eclipse, Maven 3.0.3.Я даже установил m2extras, чтобы посмотреть, помогло ли это, но я не увидел никакой разницы.

Спасибо

Ответы [ 2 ]

0 голосов
/ 26 июня 2013
  1. Удалить проект зависимости из рабочей области.
  2. Удалить каталог .settings и файлы .project.
  3. Импортировать проект снова.
  4. Обновление зависимостей maven во всех проектах.
0 голосов
/ 28 июня 2011

Вы можете заставить эту настройку работать (мы работали с той же цепочкой инструментов и настройкой здесь), если вы можете жить с некоторыми ручными обновлениями после того, как вы использовали цели m2eclipse для сборки.

Проблема в том, что не все внешние изменения с помощью сборок m2eclipse для проектов рабочей области правильно синхронизируются с вашим развернутым веб-приложением в tomcat.

Так что, если вы испытываете исключения NoClassDefFoundError после сборки через m2eclipse, должно помочь следующее (не все необходимо каждый раз):

  • Выполните проект / Очистите ваши maven проекты
  • Сделайте обновление (F5) для ваших maven проектов
  • Очистка развернутого веб-приложения (контекстное меню сервера)

Да, это громоздко, но с этим можно жить.

...