Журналы запуска Tomcat - SEVERE: ошибка filterStart как получить трассировку стека? - PullRequest
95 голосов
/ 10 июня 2010

Когда я запускаю Tomcat, я получаю следующую ошибку:

Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Jun 10, 2010 5:17:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/mywebapplication] startup failed due to previous errors

Кажется странным, что журналы для Tomcat не содержат трассировку стека.У кого-нибудь есть предложения по увеличению регистрации в Tomcat, чтобы получать трассировки стека для таких ошибок?

Ответы [ 16 ]

137 голосов
/ 10 июня 2010

Проверьте журналы localhost_yyyy_mm_dd.log ИЛИ localhost.yyyy-mm-dd.log, которые создает Tomcat, они обычно хранят информацию такого типа. Я бы не ожидал, что полная трассировка стека будет выведена в стандартный формат.

80 голосов
/ 21 мая 2011

создайте файл с именем logging.properties в WEB-INF / classes со следующим содержимым:

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler
21 голосов
/ 27 декабря 2011

Tomcat регистрирует трассировку стека, но не всегда понятно, где находятся файлы журналов, когда tomcat запускается из IDE. Когда я запускаю его из IntelliJ, CATALINA_BASE устанавливается на ${home}/.IntelliJIdea10/system/tomcat/Unnamed_r6-idea, а файлы журнала находятся в [CATALINA_BASE]/logs.

Чтобы просмотреть журналы, либо найдите файлы журналов, либо отредактируйте [CATALINA_HOME]/conf/logging.properties, чтобы направить вывод журнала tomcat на консоль. Ниже я добавил второй обработчик в конфигурацию tomcat по умолчанию:

 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

Теперь полная трассировка стека появляется в выводе IntelliJ:

 Dec 27, 2011 12:02:45 PM org.apache.catalina.core.StandardContext filterStart
 SEVERE: Exception starting filter filterChainProxy
 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'filterChainProxy' is defined   at
 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
 . . .
9 голосов
/ 27 августа 2013

вам нужно скопировать файлы

cp /path/to/solr/example/lib/ext/* /path/to/tomcat/lib
cp /path/to/solr/example/resources/* /path/to/tomcat/lib // or inside extracted solr

и затем перезапустить tomcat

5 голосов
/ 03 июня 2011

Возможно, ваше приложение скомпилировано с JRE, отличным от Tomcat.

Установите java -version на своем сервере, а затем скомпилируйте код с той же версией. У меня была ошибка, потому что мой стандартный JRE Eclipse был 1.6, а Tomcat использовал 1.5 - это не может работать.

2 голосов
/ 16 января 2015

Обычно есть информация о проблеме в localhost. [Date] .log. Но иногда в этом журнале ничего нет. Это может произойти, если конфигурация проекта испорчена (над ней работали несколько разработчиков, и каждый что-то добавил от себя). Я столкнулся с этой проблемой БЕЗ какой-либо информации в журнале. Достаточно быстрый и надежный подход:

  1. Попробуйте удалить из web.xml все, что может вызвать проблемы. Вы даже можете удалить все, кроме тега. Если приложение все еще не может быть развернуто - продолжайте.

  2. Удалите каждый дескриптор * .xml из классов WEB-INF /. Если приложение нельзя развернуть - продолжайте.

  3. Удалите все настройки ведения журналов, которые вы можете найти в вашей войне (logging.properties, log4j.properties). Попробуйте развернуть. На этом этапе я получил более информативную ошибку, но развертывание все равно не удалось.

После поиска этой ошибки я обнаружил, что проект включает в себя старую версию xerces, которая конфликтует с версией Tomcat (которая была более новой) и не требует развертывания приложения. После обновления xerces в веб-приложении все стало хорошо.

2 голосов
/ 25 июля 2013

В CentOS 6 и Solr 4.4.0

Мне пришлось скомпилировать несколько файлов lib, чтобы эта ошибка была адресована

cp ~/solr-4.4.0/example/lib/ext/* /usr/share/tomcat6/lib/
1 голос
/ 30 октября 2014

У меня возникла та же проблема: я не могу запустить приложение после его развертывания в Tomcat. Но, как только я скопирую набор jar-файлов Struts в каталог CATALINA_HOME \ lib (Tomcat dir), он решается. Вам не нужно, чтобы эти файлы были в вашем WEB_INF \ lib, но вы должны иметь их в вашем пути сборки.

Обще-FileUpload-1.2.1.jar

Обще-ю-1.3.2.jar

FreeMarker-2.3.16.jar

Javassist-3.11.0.GA.jar

struts2 конвенционные-плагин-2.2.1.jar

struts2-ядро-2.2.1.jar

xwork-ядро-2.2.1.jar

1 голос
/ 04 января 2014

Я тоже получил ту же ошибку и много пытался исправить эту проблему.Потратил немного времени на поиск в Google и нашел следующее решение, и моя проблема была решена.

проблема была связана с отсутствием библиотек Struts2 в пути развертывания.Большинство людей могут поместить библиотеки для компиляции и, как правило, забывают подключить необходимые библиотеки для выполнения.Поэтому я добавил те же библиотеки в сборку веб-развертывания, и проблема была отключена.

1 голос
/ 29 апреля 2013

, если кто-то получает ошибку типа SEVERE: Ошибка filterStart 29 апреля 2013 г. 16:49:20 org.apache.catalina.core.StandardContext startInternal SEVERE: Запуск контекстного [/ TraceMW] сбоя произошел из-за предыдущих ошибок

, затем проверьте, содержит ли ваш каталог tomcat / lib cors-filter-1.5.jar или нет.если у вас есть точка u, вы получите ошибку выше и ваше приложение будет недоступно.

Итак, мне просто удалось скопировать файл jar из другой папки tomcat, и я не получил вышеупомянутую ошибку позже.

...