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

Maven + eclipse + tomcat: исключение класса не найдено

У меня есть простое веб-приложение, использующее сервлеты. Я создал его как проект maven, а затем импортировал его в eclipse (файл → import → существующие проекты maven)

Война будет правильно установлена ​​на tomcat 7.

Однако когда я создаю сервер tomcat 7 в Eclipse, а затем запускаю tomcat в eclipse, я получаю исключение при запуске приложения.

root cause

java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
    first.model.BeerExpert.<clinit>(BeerExpert.java:12)
    first.servlet.BeerServlet.doPost(BeerServlet.java:26)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    first.model.BeerExpert.<clinit>(BeerExpert.java:12)
    first.servlet.BeerServlet.doPost(BeerServlet.java:26)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

существует ли какой-либо определенный путь пути к классу, который должен выполняться в eclipse/tomcat

Примечание. Я могу запустить mvn clean install и создает файл jar. И затем, когда я перемещаю банку в каталог tomcat (7) webapp и перезапускаю, он отлично работает.

Я не размещаю детали pom.xml, потому что само приложение работает нормально. Однако id необходимо в разрешении, я могу опубликовать его.

4b9b3361

Ответ 1

Tomcat и Spring Веб-класс не найден Exception org.springframework.web.context.ContextLoaderListener

Щелкните правой кнопкой мыши на своем веб-проекте в Project Explorer → выберите "Свойства". В свойствах проекта выберите "Сборка развертывания".

На странице свойств Ассамблеи развертывания отображается контент, который будет опубликован как собранный артефакт Eclipse на сервер. Вы должны сказать Eclipse, что вы хотите, чтобы все ваши зависимости Maven были опубликованы тоже.

Чтобы сделать это, нажмите кнопку "Добавить", затем выберите "Java Build Path Entries". Нажмите "Далее" и выберите "Зависимости Maven". Это опубликует JAR файлы зависимостей Maven в папке lib, когда Eclipse публикует ваш проект на сервере WST.