У меня есть веб-приложение (динамическое веб-приложение Eclipse), которое использует Maven (m2e-wtp) для сборки и управления зависимостями. POM этого веб-приложения ссылается на несколько других проектов в моей рабочей области, которые также являются плагинами eclipse, созданными с помощью maven (созданными с использованием Tycho), а также другими сторонними библиотеками, которые поступают из репозитория Maven.
Все работает нормально, когда я запускаю maven из CLI. Все зависимости включены в каталог WEB-INF/lib, как и ожидалось.
Проблема в том, что я пытаюсь запустить проект с помощью Eclipse. Я запускаю приложение на настроенном сервере Tomcat внутри Eclipse, но упомянутые проекты в моей рабочей области не добавляются в развернутую войну.
Я попытался добавить их в сборку развертывания (в настройках проекта), и это отлично работает, но эти настройки стираются m2e каждый раз при обновлении конфигураций maven. Я читал в нескольких местах, что мы не должны вручную добавлять туда записи, так как все зависимости должны управляться m2e...
Возникает вопрос: Как заставить Eclipse добавлять зависимости проекта рабочей области в WEB-INF/lib моего веб-приложения, когда я запускаю его из Eclipse?
Я использую Eclipse J2EE 4.3.1 (Kepler SR1).
Я также попытался щелкнуть проект правой кнопкой мыши и выбрать «Экспорт» -> «Файл WAR», но экспортированный файл WAR также не включает проекты рабочей области, на которые есть ссылки. Я предполагаю, что проблема затрагивает оба случая.
Это очень раздражает и немного замедляет меня... в настоящее время мне приходится повторно добавлять проекты на страницу сборки развертывания несколько раз в день, чтобы она продолжалась...
ОБНОВЛЕНИЕ: проекты рабочей области, которые я добавил в качестве зависимостей в POM, отображаются в списке ссылочных проектов в свойствах проекта. Но когда я раскрываю зависимости Maven в Project Explorer, зависимости проекта рабочей области отсутствуют в списке! Отображаются только те, что есть в репозитории Maven. Их местные как будто молча игнорируют...
compile
илиruntime
, чтобы быть включенным в войну. - person Max Fichtelmann   schedule 24.12.2013compile
по умолчанию. Я добавил областьcompile
, но получил те же результаты. В рабочей области все в порядке, и когда я запускаю сборку maven, но если я запускаю веб-приложение из eclipse, упомянутые проекты рабочей области не включаются... Я получаю java.lang.NoClassDefFoundError при попытке их использовать. - person Edy Bourne   schedule 24.12.2013