Java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

Я включил:

  • все Spring libs,

  • Библиотека Apache Tomcat 7.0

    в пути сборки

но он все еще дает ошибки:

SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    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)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    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)
Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.sun.faces.config.ConfigureListener
java.lang.ClassNotFoundException: com.sun.faces.config.ConfigureListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
    at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
    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)

В "org.sprintframework.web-3.1.0.M1.jar" я вижу "org.springframework.web.context.ContextLoaderListener".

Кто-то из Google говорит, что spring.jar должен быть включен, но я не вижу никаких spring.jar в распространении 3.x.

Eclipse 3.6.2 Tomcat 7

Изменить: кто-то говорит: "Автоматически обновлять зависимости" следует проверять в "Свойства проекта", но я не вижу ничего подобного в свойствах проекта. ClassNotFoundException: org.springframework.web.con text.ContextLoaderListener

Ответ 1

У меня была аналогичная проблема при запуске веб-приложения spring в управляемом Eclipse tomcat. Я решил эту проблему, добавив зависимости maven в сборку веб-развертывания проекта.

  • Откройте свойства проекта (например, щелкните правой кнопкой мыши имя проекта в проводнике проекта и выберите "Свойства" ).
  • Выберите "Развертывание сборки".
  • Нажмите кнопку "Добавить..." на правом поле.
  • Выберите "Java Build Path Entries" из меню "Тип директивы" и нажмите "Далее".
  • Выберите "Maven Dependencies" из меню "Записи пути Java" и нажмите "Готово".

Вы должны увидеть "Зависимости Maven", добавленные в определение сборки веб-развертывания.

Ответ 2

То же самое происходит со мной время от времени при использовании Eclipse WDT. Его особенность расстраивает, когда это происходит с немодифицированным и ранее работающим проектом. Это то, что я делаю, чтобы исправить это в этом последнем сценарии:

  • Остановить Tomcat (если он работает)
  • Откройте представление "Серверы": Окно > Показать вид > Другое > Сервеp > Серверы
  • Щелкните правой кнопкой мыши на сервере Tomcat > Очистите рабочий каталог Tomcat.
  • Щелкните правой кнопкой мыши на сервере Tomcat > Очистить
  • Перезагрузите сервер

Обычно это исправляет проблему, о которой вы упоминаете.

Ответ 3

Вы можете попробовать "Очистить каталог работы Tomcat" или просто "Очистить..". Это должно отбросить все опубликованное состояние и опубликовать с нуля.

Ответ 4

Я использовал IntelliJ IDEA, компиляция прошла успешно, но при запуске Tomcat он говорит:

Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

В начале я думал, что JAR отсутствует, но он был на месте.

Решение: File > Project Structure > Artifacts, в Output Layout дважды щелкните в правой панели Available Elements библиотеку с именем like Maven:..., она будет перенесена в WEB-INF/lib на левой панели.

Принять и перезапустить Tomcat.

Ответ 5

Это, безусловно, проблема, связанная с Eclipse. Для меня это создало новый сервер на вкладке сервера eclipse. Затем запустите приложение на этом новом сервере, оно должно работать.

Ответ 7

Если все упомянутое выше не работает, попробуйте следующее. Это сработало для меня.

Удалите проект с серверa > Перезапустить сервеp > Добавьте проект на сервеp > Перезапустить сервер.

Подробное описание:

1. Right click on server > Add and Remove
2. Select your project > Remove > Finish
3. Restart your server
4. Right click on server > Add and Remove
5. Select your project > Add > Finish
6. Restart your server again.

Ответ 8

Если вы используете maven, возможно, проект еще не создан. Сначала сделайте "mvn clean package", затем повторите попытку повторно.

Ответ 9

Я столкнулся с той же проблемой для проекта eclipse, настроенного для времени выполнения Tomcat 7

Щелкните правой кнопкой мыши по проекту и перейдите к свойствам проекта. Нажмите "Развертывание сборки". Я заметил, что мои библиотеки библиотеки spring, которые я создал во время компиляции с пользовательской библиотекой, отсутствовали. Просто добавьте банки, и вы не увидите ошибок в консоли во время запуска tomcat.

Ответ 10

Решение для Eclipse Luna:

  • Щелкните правой кнопкой мыши веб-проект maven
  • Нажмите "Свойства"
  • Выберите "Развертывание сборки" в левой части всплывающего окна
  • Нажмите кнопку "Добавить..." в правой части всплывающего окна
  • Теперь появится еще одно всплывающее окно (New Assembly Directivies)
  • Нажмите "Записи пути Java Build"
  • Нажмите кнопку "Далее"
  • Нажмите кнопку "Готово", теперь атоматически закройте всплывающее окно New Assemby Directivies.
  • Теперь нажмите кнопку "Применить" и кнопку "ОК"
  • Запустите веб-приложение

Ответ 11

На самом деле это проблема Tomcat. Просто перейдите в папку "lib" вашего проекта и скопируйте все связанные с этим "Spring" банки. Обновите свой проект, и вам все хорошо. Эта проблема когда-то сохраняется, потому что tomcat не может найти основные классы Spring.

Ответ 12

Если вы используете IntelliJ IDEA и развертываете приложение на Tomcat Server, он говорит: В меню "Файл" → выберите "Структура проекта" → нажмите "Артефакт" → выберите свои банки и щелкните правой кнопкой мыши → поместите в WEB\lib → сервер перезагрузки введите описание изображения здесь

Ответ 13

У меня была такая же проблема. Я разрешил его, добавив spring -web зависимость в моем pom.  Убедитесь, что вы используете spring -web jar, у которого класс ContextLoaderListener расширяется. ContextLoader реализует ServletContextListener и находится в пакете org.springframework.web.context. Я использовал 3.0.4.RELEASE

Ответ 14

Я попробовал

  • проект clean mvn
  • clean
  • рабочий каталог clean tomcat Автоматически
  • зависимостей обновлений

Единственное, что работало, по крайней мере, временно, - добавить Maven Dependencies к определению сборки веб-развертывания

Но это не работает навсегда! Через пару дней он перестает работать. Моим решением было удалить Maven Dependencies, применить изменения и снова добавить Maven Dependencies.

Я использую - Затмение Юнона - встроенный maven - tomcat 7

Ответ 15

Для пользователей gradle он работает со следующими шагами

1) Остановить и удалить сервер tomcat с Серверы Вкладка в eclipse

eclipse tomcat tab

2) очистить webapp и рабочий каталог от установки tomcat, (Ссылка, How-To: очистить кеш Tomcats и исправить устаревшие проблемы JSP)

$ rm -r /usr/local/AT7028/work/*
$ rm -r /usr/local/AT7028/webapps/WAR_NAME

3) очистить и затмить проект с помощью инструмента построения

$ ./gradlew clean eclipse//запускаем соответствующую команду для пользователей mvn, $ mvn clean package

4) настройте новый сервер Tomcat в eclipse и снова запустите проект.

Ответ 16

i тоже столкнулся с одной и той же проблемой... и решил, выполнив следующие шаги:

RC (щелкните правой кнопкой мыши на веб-проекте) → Свойства → Развертывание сборки → Добавить → Записи пути сборки Java → Далее → выберите файлы jar, которые отсутствуют → next → финиш

Приложение успешно работает...

Ответ 17

У меня такая же проблема, и я разрешил ее, используя шаги, упомянутые выше. Но нет, когда у меня есть эта проблема снова, и я пробую следующее:

RC (щелкните правой кнопкой мыши на веб-проекте) → Свойства → Развертывание сборки → Добавить → Записи пути сборки Java → Далее →

после нажатия на следующее его только пустое окно с параметрами Next и Fnish отключено. Что я могу сделать сейчас?

Ответ 18

У меня была та же проблема.

Просто удалил сервер из конфигурации и добавил его после перезапуска eclipse, добавив его в среду выполнения сервера.

Ответ 19

Для меня исправить было щелчок правой кнопкой мыши по моему модулю webapp > Maven > Update Project

Ответ 20

У меня также была ошибка. Я не добавил эту зависимость в мой файл POM.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.1.7.RELEASE</version>
  </dependency>

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

Если кто-то не смог решить эту ошибку, они также могут решить эту ссылку

Ответ 21

Одним из быстрых решений, которые я предпочитаю больше всего для этой ситуации, является просто удалить папку .metadata вашего рабочего пространства и снова импортировать свои проекты. Если вы попробуете любой другой вариант, он не гарантирует успех. Иногда вышеупомянутые решения работают, когда вы потратите свои драгоценные часы, чтобы исправить эту конфигурацию.

В один прекрасный день я решил очистить свою рабочую станцию. Я организовал проекты в соответствующие папки в соответствии с разными клиентами. В результате все перепуталось. Проведя целый день, он не оказался в фиксированном рабочем пространстве. На следующий день я просто удалил папку .metadata рабочего пространства и снова импортировал все проекты. Бинго все установлено.

Ответ 22

Поместите <packaging>war</packaging> в свой pom.xml, если вы используете Maven. В этом случае, возможно, это с упаковкой jar

У вас должны быть библиотеки Maven в разделе развертывания

Ответ 23

Использование "Обновить проектную конфигурацию" испортило путь сборки проекта.

Исправить: Откройте меню "configure build path..." (щелкните правой кнопкой мыши по проекту) и исправьте опции Включено/Исключено для каждой исходной папки. Это сработало для меня.

Ответ 24

Во многих случаях проблема с java-гранью, jdk или jre или jsp-версия - это разница, чем лицо проекта maven.

Ответ 25

Фактическим решением для меня было установить интеграцию "m2e-wtp - Maven для WTP". Решение Marcelo не обязательно в этом случае.

Ответ 26

если ничего не работает, удалите класс .class из класса слушателя i.e.

&ltlistener&gt
&ltlistener-class&gt

org.springframework.web.context.ContextLoaderListener.class

&lt/listener-class&gt
&lt/listener&gt

Ответ 27

Это работает для меня..

Щелкните правой кнопкой мыши веб-проект maven Нажмите "Свойства" Выберите "Развертывание сборки" в левой части всплывающего окна Нажмите кнопку "Добавить..." в правой части всплывшего окна. Теперь появится еще одно всплывающее окно (New Assembly Directivies) Нажмите "Записи пути Java Build" Нажмите кнопку "Далее" Нажмите кнопку "Готово", теперь атоматически закрыть всплывающее окно New Assemby Directivies Теперь нажмите кнопку "Применить" и кнопку "ОК" Запустите веб-приложение

Ответ 28

Это произошло со мной после того, как я внес изменения в свое сопоставление Hibernate в проекте IntelliJ, используя Gradle. Просто перестройка проекта сработала для меня.

Ответ 29

Я столкнулся с этим пару раз в квартал. На этот раз у меня была сводка с минимальным сменой в моем git diff и отследила проблему до класса reset classpath (без моей зависимости WEB-INF/lib) в eclipse. Кажется, что это происходит в любое время, когда я втягиваю или вытаскиваю проекты родителя/сестры maven.

Есть упоминания о добавлении ваших контейнеров spring в веб-контейнер tomcat web - это нормально и как работает большинство серверов EE. Однако имейте в виду, что, разместив spring выше в дереве classloader на tomcat, вы будете работать выше уровня загрузчика классов вашего военного контекста. Я рекомендую вам оставить libs в загрузчике классов на уровне ниже /war.

Мы видим следующее после усеченного .classpath после изменения структурного проекта в eclipse.

Dec 18, 2016 11:13:39 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener

Мой путь к классам был reset, а зависимость WEB-INF/lib была удалена.

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

вернуть

<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>

и все будет в порядке.

спасибо /Майкл

Ответ 30

Я получил это, когда у меня был lib в моем пути сборки, но не в моей сборке развертывания. Также, когда у меня отсутствовал context.xml.