2013-06-30 2 views
1

Сегодня вечером я нажал обновление на моем сервере Tomcat7, и теперь он, похоже, не начнется должным образом. Всякий раз, когда я пытаюсь поднять сайт в веб-браузере, Chrome сообщает мне, что ссылка «кажется, сломана».Tomcat7 - org.apache.catalina.LifecycleException: не удалось запустить компонент

Все, что я сделал до того, как я получил этот урон, это то, что я обновил код java в своей папке webapps/ROOT/WEB-INF/classes. Все обновленные классы были кучей классов Java и двух сервлетов.

Сначала я подумал, что в моей папке WEB-INF неправильный код web.xml, но я проверил его и правильно (настроен так же, как на моем тестовом сервере на моем рабочем столе).

Вот стек, который я получаю от своего catalina.out.

Любая помощь была бы принята с благодарностью. Кажется, я не могу найти где-нибудь эту конкретную ошибку.

Jun 29, 2013 8:16:07 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Jun 29, 2013 8:16:07 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 595 ms 
Jun 29, 2013 8:16:07 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Jun 29, 2013 8:16:07 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.30 
Jun 29, 2013 8:16:07 PM org.apache.catalina.startup.HostConfig deployDescriptor 
INFO: Deploying configuration descriptor /etc/tomcat7/Catalina/localhost/examples.xml 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.TaglibUriRule body 
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined 
Jun 29, 2013 8:16:08 PM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory /var/lib/tomcat7/webapps/uploads 
Jun 29, 2013 8:16:09 PM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT 
Jun 29, 2013 8:16:09 PM org.apache.catalina.core.ContainerBase addChildInternal 
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) 
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100) 
     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
     at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.NullPointerException 
     at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2068) 
     at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2069) 
     at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1296) 
     at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878) 
     at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369) 
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 11 more 

Jun 29, 2013 8:16:09 PM org.apache.catalina.startup.HostConfig deployDirectory 
SEVERE: Error deploying web application directory /var/lib/tomcat7/webapps/ROOT 
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]] 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) 
     at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100) 
     at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
     at java.lang.Thread.run(Thread.java:722) 

Jun 29, 2013 8:16:09 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jun 29, 2013 8:16:09 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 1517 ms 
+1

Вы видите ошибку в файле журнала 'localhost. .log'? Вы проверили, что обновленные файлы классов имеют правильные разрешения файловой системы? –

+0

Как я могу гарантировать, что обновленные файлы классов имеют правильные разрешения? Перед обновлениями, которые я сделал, все отлично работало, и я не думаю, что добавлял вызовы функций в новые библиотеки. – Funkytown

+0

Вы можете проверить права доступа к файлам с помощью команды linux 'ls -l'. Как вы обновили классы? Вы переделали войну? –

ответ

3

Убедитесь, что обновленные файлы классов имеют правильные разрешения файловой системы. Вы можете проверить разрешения с помощью команды linux ls -l.