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

Ответ 1

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

Используйте аналогичные версии для получения четкого вывода

Ответ 2

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

2) выберите " Развертывание развертывания"

3) Нажмите " Добавить кнопку" с правой стороны.

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

5) И выберите " Maven Dependencies" из меню "Записи пути Java" и нажмите "Готово".

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

Ответ 3

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

Ответ 4

Проверьте, все ли банки правильно настроены или нет. Очистите сервер Eclipse. Чистый рабочий каталог Tomcat. Перейдите в меню "Проект" → "Очистить". Перезагрузите сервер и приложение.

Ответ 5

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

Ответ 6

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

Ответ 7

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

Ответ 8

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

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

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

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

Ответ 9

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

1) Очистите сервер. TopBarMenu > Project > Clean

2) Отключите автоматическое здание. TopBarMenu > Проект > Снять автоматическую сборку

3) Вручную создайте проект. TopBarMenu > Проект > Сборка

В качестве альтернативы,   RightClick the project, который вы хотите создать, и нажмите "Создать проект" (выше обновления). (Примечание. Эта опция скрыта, если для проектов установлено автоматическое создание).

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

Ответ 10

(Он работал в моем случае) Это также один из тех случаев, когда он работает, Идти к Windows- > ShowView- > Серверы. Развернуть Tomcat (например,) → удалить соответствующую банку Восстановите проект.

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

Ответ 11

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