Подтвердить что ты не робот

Eclipse WTP, maven и m2eclipse - не копирование предоставленных банок

При использовании Eclipse WTP и m2eclipse можно скопировать все зависимости в WEB-INF/lib (путем добавления "зависимостей maven" в сборке развертывания). Тем не менее, также скопированы зависимости с областью "предоставлены", например, el-api и jsp-api. Это мешает контейнеру, и он не запускается.

Любое решение для того, чтобы не копировать "предоставленные" банки?

4b9b3361

Ответ 1

Вам нужно установить m2eclipse-wtp , который является дополнительным подключаемым модулем для m2eclipse. Он выполнит эту работу для вас. После установки m2eclipse-wtp просто щелкните правой кнопкой мыши project ---> Maven --> Update Project Configuration, вы обнаружите, что libs предоставленной области больше не будут не доверять контейнеру WTP.

См. this для инструкции по установке. Я бы предложил установить последнюю версию m2eclipse-wtp (протестированной против Eclipse 3.6 +), поскольку она решает некоторые основные ошибки в предыдущих версиях.

Изменить: Спасибо Fred за исправление

Ответ 2

Вам нужно добавить библиотеку Maven в сборку развертывания WTP...

Щелкните правой кнопкой мыши на своем проекте, выберите "Свойства"

В меню свойств нажмите "Развертывание сборки"

Нажмите "Добавить" → "Записи пути Java Build Path", затем нажмите "Далее"

Выберите "Maven Libraries" в списке и нажмите "Готово"

Ответ 3

Зависимости объема "предоставляется" не должны быть упакованы Maven в окончательной сборке.

Однако проверьте, есть ли у вас другие зависимости, которые "компилируются", которые также объявляют те же самые зависимости, что и "компилировать". Другими словами, очень вероятно, что el-api и jsp-api вытягиваются в качестве транзитивных зависимостей.

Самый простой способ проверить - использовать представление иерархии зависимостей m2eclipse.