Spring web.xml не может загрузиться из-за <listener> - PullRequest
1 голос
/ 02 ноября 2010

Когда я ставлю эти строки:

  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>

мое приложение не может загружаться вообще.Когда я перехожу на http://localhost:8080/app, он не загружается.Но когда я удаляю эти строки, он загружается правильно.Я поместил необходимую библиотеку, содержащую org.springframework.web.context.ContextLoaderListener в ./app/WEB-INF/lib.

Моя установка - Tomcat 5.5.Установлен контекстный параметр:

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:./springContext.xml</param-value>
  </context-param>

Трассировка стека не отображается.Сообщение об ошибке:

03-Nov-2010 10:21:48  INFO HostConfig:863 - Deploying web application archive
wma.war
03-Nov-2010 10:21:49 ERROR StandardContext:4253 - Error listenerStart
03-Nov-2010 10:21:49 ERROR StandardContext:4280 - Context [/wma] startup failed
due to previous errors

Спасибо

Будет

Ответы [ 3 ]

1 голос
/ 02 ноября 2010

Ваш contextConfigLocation имеет очень специфическое значение, classpath:./springContext.xml. Это действительно ясно, что это должно означать. Вы ищете файл springContext.xml в корне пути к классам? Если это так, то вы должны использовать classpath: springContext.xml`, поскольку ссылки на ресурсы classpath всегда относятся к корню пути к классам.

Если это не помогло, посмотрите журналы уровня DEBUG Tomcat: Spring довольно многословен во время запуска на уровне DEBUG, и он должен сказать вам, что происходит не так. Странно, что это не исключение, хотя я обычно ожидаю, что это так.

1 голос
/ 16 мая 2011

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

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

  1. , введите код явно.иногда копируйте результаты вставки в один и тот же текст, но с другим символом.

  2. убедитесь, что библиотека пружин находится в пути сборки или в сборке развертывания.я думаю, что contextloaderlistener находится в org.springframework.web.context

надеюсь, это поможет:]

0 голосов
/ 02 ноября 2010

Вы не показывали трассировку стека, но если вы не установили context-param, где ContextLoaderListener может найти xml-файл, то, вероятно, выдает ошибку:

<context-param> 
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/dispatcher-servlet.xml
        </param-value>
    </context-param>    

Если вы используете ContextLoaderListener,на самом деле вам понадобятся два файла конфигурации xml, потому что если вы используете один и тот же файл, то все компоненты загружаются дважды.

...