it-roy-ru.com

SEVERE: ошибка настройки прослушивателя приложения класса org.Apache.catalina.deploy.ApplicationListener

Вот моя ошибка, когда я пытаюсь запустить web.xml моего проекта в Eclipse.

Это основная ошибка, с которой я сталкиваюсь, когда пытаюсь запустить веб-страницу своего проекта.

***SEVERE: Error configuring application listener of `class` [email protected]
Java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener****
at Java.lang.ClassLoader.findBootstrapClass(Native Method)
    at Java.lang.ClassLoader.findBootstrapClassOrNull(`ClassLoader`.Java:927)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:298)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:296)
    at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:301)
    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:248)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1629)
    at org.Apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.Java:1559)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.Java:527)
    at org.Apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.Java:509)
    at org.Apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.Java:137)
    at org.Apache.catalina.core.StandardContext.listenerStart(StandardContext.Java:4854)
    at org.Apache.catalina.core.StandardContext.startInternal(StandardContext.Java:5434)
    at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)
    at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1559)
    at org.Apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.Java:1549)
    at Java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.Java:303)
    at Java.util.concurrent.FutureTask.run(FutureTask.Java:138)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.Java:886)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:908)
    at Java.lang.Thread.run(Thread.Java:662)
Sep 10, 2013 6:37:24 PM org.Apache.catalina.core.StandardContext listenerStart
12
Hemanth Kumar

Вы пропустили несколько банок, таких как struts-spring plugin

Используйте похожие версии, чтобы получить четкий вывод

6
Prasanna

1) Щелкните правой кнопкой мыши на проекте, затем выберите «Свойства».

2) выберите «Deployment Assembly»

3) Нажмите кнопку «Add» справа.

4) Выберите «Java Build Path Entries» в меню типа директивы и нажмите кнопку «Далее».

5) И выберите «Maven Dependencies» из меню Java Build Path Entries и нажмите «Готово». 

6) Удалите старый экземпляр сервера и создайте новый, затем запустите проект на сервере ...

26
Rishi Gautam

servlet-api.jar не находится на вашем пути к классам. Проверьте папку lib вашего контейнера сервлетов. Если вы используете Tomcat, это обычно будет в C:/Apache-Tomcat-7.XX/lib. Если его там нет, скачайте его и добавьте. 

2
Sotirios Delimanolis

Удалите приложение с сервера и повторно разверните приложение.

1
Ezd

Убедитесь, что все банки правильно настроены или нет . Очистите сервер Eclipse . Очистите рабочий каталог Tomcat . Перейдите в Меню Проект -> Очистить . Перезапустите сервер и приложение. 

1
D8Sasi

Я сталкивался с подобной проблемой всякий раз, когда проверял свой проект только что из репозитория SVN, и это работало для меня:

1) Очистить сервер. TopBarMenu> Проект> Чистота

2) Отключить автоматическое построение. TopBarMenu> Проект> Автоматически снимать флажок «Сборка»

3) Вручную построить проект. TopBarMenu> Проект> Построить  

С другой стороны, Щелкните правой кнопкой мыши по проекту / вы хотите создать и щелкните по проекту сборки (над обновлением) . (Примечание: эта опция скрыта, если проекты настроены на автоматическую сборку)

4) Запустить проект.

0
Ashvin Panicker

Если вы правильно настроили и скомпилировали проект со всеми необходимыми jar-файлами и все еще получаете ту же ошибку, то вы можете пропустить создание папки классов. Если мы используем существующую настройку проекта и настраиваем ее, то выходная папка по умолчанию должна быть введена вручную в соответствии с требованиями проекта. В моем случае Eclipse предоставлял папку вывода по умолчанию для/bin, но он был настроен на имя_проекта/WEB-INF/classes. Поэтому я изменил его на имя_проекта/WEB-INF/classes

0
Rahul Deore

Если вы развернули библиотеки для javax.servlet, который является частью пакета JavaEE, то вы допустили ошибку, веб-сервер уже содержит эти библиотеки и загружает данные, соответствующие вашему API спецификации сервлета. 

0
Roman C

Если вы импортировали чужой проект в Eclipse, то удалите и добавьте servlet-api.jar в classpath, поскольку путь servlet-api.jar может отличаться в вашей системе. После этого очистите проект и запустите снова.

0
Satish Gadhave

Это будет периодически происходить со мной. Несмотря на то, что зависимость была правильной, и хотя я ранее запустил сервер в Eclipse без проблем. Однако, если бы я изменил код во время работы сервера, иногда я получал эту проблему.

Я бы удалил приложение с сервера. Запустите сервер. Остановите сервер. Затем повторно запустите 'mvn Eclipse: eclipse -Dwtpversion = 2.0 "(вероятно, аналогично Project-> Clean).

Затем нажмите F5, чтобы обновить проект. Добавьте приложение на сервер. Запустите сервер.

Иногда изменяя код во время работы сервера или если он остановлен неправильно, это также блокирует порт (иногда требуется выключение Eclipse или перезагрузка моего компьютера).

0
Scott Izu

(Это работает в моем случае) Это также один из случаев, когда это работает, Перейти к Windows-> ShowView-> Servers . Развернуть Tomcat (например) -> удалить заинтересованный jar Перестройте проект.

Для этого условия должно работать решение, данное @Rishi Gautam.

0
Dila Gurung