У меня есть простое веб-приложение, использующее сервлеты. Я создал его как проект maven, а затем импортировал его в eclipse (файл -> import -> существующие проекты maven)maven + eclipse + tomcat: class not found exception
Война корректно развертывается в 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)
есть ли определенный класс настройки путь, который необходимо сделать в затмение/котом
Примечание: Я могу запустить MVN чистую установку, и это создает файл фляги. И затем, когда я перемещаю банку в каталог tomcat (7) webapp и перезапускаю, он работает отлично.
Я не размещаю детали pom.xml, потому что приложение само работает нормально. Однако идентификатор необходим в разрешении, я могу опубликовать его.
Можем ли мы настроить этот параметр в файле pom? –
У меня была эта же проблема, и я не мог понять, что было не так в течение двух дней. Я полагаю, что моя ситуация очень уникальна, но на всякий случай я ее оставил. Для проекта, который не был экспортирован, я перешел в «Свойства» -> «Границы проекта» и «Непроверенный служебный модуль». Был чист на Tomcat и переиздан. Так оно и было. Я чувствую, что это просто какая-то странная ошибка, но я добавляю на всякий случай, что это может помочь кому-то. – DavidR
@DavidR, я боролся с этим в течение 24 часов, и вы, кажется, единственный человек в Интернете с решением. Спасибо! Если вы пробовали это без везения, сделайте это. – thomas88wp