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

Я включен:

  • Всех весенних развратников,

  • Библиотека 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

Редактировать: кто-то говорит, что "Автоматически обновлять зависимости" следует проверять в свойствах проекта, но я не вижу ничего подобного в свойствах проекта. http://forum.springsource.org/showthread.php?60812-ClassNotFoundException-org.springframework.web.con-text.ContextLoaderListener

36 ответов

Решение

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

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

Вы должны увидеть "Maven Dependencies", добавленные к определению сборки Web Deployment.

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

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

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

Я использовал 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 библиотека названа как Maven:...будет перенесено в WEB-INF/lib в левой панели.

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

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

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

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

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

Подробная инструкция:

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.

Вы должны использовать хотя бы версию 3.2.8.RELEASE пружинного ядра.

Для Maven, установите в своем pom.xml:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.2.8.RELEASE</version>
</dependency>

Источник: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/cglib/core/SpringNamingPolicy.html, начиная с 3.2.8.

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

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

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

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

  1. Щелкните правой кнопкой мыши на веб-проекте Maven.
  2. Нажмите "Свойства" меню
  3. Выберите "Deployment Assembly" в левой части всплывающего окна.
  4. Нажмите кнопку "Добавить..." в правой части всплывающего окна.
  5. Теперь появилось еще одно всплывающее окно (New Assembly Directivies)
  6. Нажмите "Записи пути Java Build"
  7. Нажмите кнопку "Далее"
  8. Нажмите кнопку "Готово", теперь автоматически закройте всплывающее окно "Новые направления сборки"
  9. Теперь нажмите кнопку "Применить" и кнопку "ОК"
  10. Запустите ваше веб-приложение

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

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

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

Для меня исправление состояло в том, чтобы щелкнуть правой кнопкой мыши мой модуль веб-приложения> Maven > Обновить проект

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

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

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

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

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

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

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

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

Мой путь к классу был сброшен, и зависимость 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"/>

и ты будешь в порядке.

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

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

У вас должны быть Maven libs в Deployment Assembly

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

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

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

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

Приложение успешно запущено...

Я столкнулся с той же проблемой.

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

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

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

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

Я попробовал

  • проект чистый мвн
  • чистый
  • Очистить рабочий каталог Tomcat автоматически
  • обновить зависимости

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

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

Я использую - eclipse Juno - встроенный Maven - Tomcat 7

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

1) Остановите и удалите сервер Tomcat из вкладки Серверы в затмении

Eclipse Tomcat Tab

2) очистить webapp и рабочий каталог от установки tomcat, (Справка, How-To: Очистить кэш Tomcat и исправить устаревшие проблемы 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 и снова запустить проект.

Если ничего из вышеперечисленного не работает, удалите.class из класса слушателя, т.е.

<listener>
<listener-class>

org.springframework.web.context.ContextLoaderListener.class

</listener-class>
</listener>

Я вытащил код, но не обновил версию проекта на вкладке сервера / модулей eclipse. По какой-то причине чистая установка maven не удаляла старую папку проекта из цели, а вместо этого создавала новую папку.

Исправление версии проекта на сервере устранило эту проблему.

Публикуем это на случай, если кто-то совершит ту же ошибку.

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

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

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

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

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

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

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

Другие вопросы по тегам