Зависимости Maven не видны в WEB-INF / lib


у меня возникла эта странная проблема с созданием моего проекта на основе Maven. Я создал новый Maven проект в Eclipse и включил динамические веб-фасеты. Но во время выполнения он бросает ClassNotFoundException потому что зависимости Maven не копируются в

8 60

8 ответов:

Это не должно иметь ничего общего с eclipse и m2eclipse, и, возможно, для лучшей поддержки -m2e-wtp. Кроме того, вам не нужны зависимости от копирования. Вот несколько возможных причин:

  • вы должны вызвать mvn package (или щелкните правой кнопкой мыши > maven > пакет) и получите файл war-The <packaging> (в pom) должно быть war
  • ваши зависимости должны быть с областью по умолчанию (если они provided или test они не будут включены в архив)
  • если вы запускаете проект как динамический веб-проект на сервере в eclipse, то вы должны открыть свойства проекта (щелкните правой кнопкой мыши > Свойства) и выберите "сборка развертывания". Там нажмите кнопку "Добавить", выберите" Создать записи пути "и выберите"зависимости maven". Это будет инструктировать ГУР для отправки зависимостей Maven для сервера реж.

установить интеграция Maven для Eclipse WTP (Справка - > Eclipse Marketplace)

затем в pom вашего веб-проекта.xml просто добавьте:

    <packaging>war</packaging>

после этого просто щелкните правой кнопкой мыши проект, Maven -> обновить проект, который должен автоматически добавлять зависимости Maven для вас в сборке развертывания.

щелкните правой кнопкой мыши проект - > Мэйвен > обновление проекта Maven > ОК, исправлено это для меня

Регистрация - Сборке свойства проекта. Я видел некоторые mvn eclipse:eclipse сгенерированные проекты Eclipse иногда имеют активы, развернутые в неправильном месте. Из того, что я могу вспомнить новое - Сборке были некоторые проблемы с более ранними версиями Eclipse 3.6 (Helios).

Я только что сделал maven - > проект обновления работал для меня.

вы хотите использовать плагин copy-dependencies

посмотреть этой пост и docs

Если вы посмотрите на свое развертывание и увидите, что WEB-Inf/lib пуст из ваших зависимостей Maven, то обеспечение этих зависимостей Maven в вашей сборке развертывания имеет решающее значение, как указано в выбранном ответе.

однако будьте осторожны с Eclipse, а затем не обновляйте все даже с обновлением Maven. Если вы очищаете, перестраиваете и повторно развертываете и все еще не видите заполняемую папку lib, попробуйте удалить и повторно добавить приложение к развертываниям сервера через серверы>добавить и Удалять.

Это прочистило систему для меня.

щелкните правой кнопкой мыши проект -> развертывание сборки : Посмотрите, есть ли у вас зависимости Maven и все остальные. Если нет, Щелкните правой кнопкой мыши проект - > Maven - > включить разрешение рабочей области

(может быть, тогда Maven - > обновить проект, но затем снова посмотрите в "сборку развертывания" и посмотрите, что у вас есть.) это решило его (наконец!) для меня.