2012-02-08 11 views
40

Sto cercando di iniziare la mia applicazione web su Tomcat 7, ma ogni volta che clicco sul pulsante di avvio, ottengo questo errore:org.apache.catalina.core.StandardContext startInternal GRAVI: Errore listenerStart

FAIL - Application at context path /Web could not be started

e sotto le linee vengono aggiunte al file di catalina.log:

Feb 08, 2012 7:21:01 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Feb 08, 2012 7:21:01 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context [/Web] startup failed due to previous errors

Come è causato e come posso risolvere il problema?

+2

quali sono gli errori precedenti: avvio non riuscito a causa di errori precedenti –

+1

@Mike: non sono sempre visibili nella console IDE/nel file di registro. Non sono sicuro del perché, sembra essere una combinazione di alcune versioni di Eclipse, alcune versioni/versioni di plugin per server e alcune versioni di Tomcat. – BalusC

risposta

84

Ho avuto un problema simile. Il catalina.out registrato questo registro Messaggio

17 Apr, 2013 17:14:46 org.apache.catalina.core.StandardContext inizio GRAVI: Errore listenerStart

Controllare la localhost.log nel directory del registro tomcat (nella stessa directory di catalina.out), per vedere l'eccezione che ha causato questo errore.

+5

Nel mio caso, era più simile a localhost.2013-06-06.log, quindi il visualizzatore di registri predefinito in IDEA non mostrava quale fosse il problema – Zotov

+0

la tua risposta ha aiutato a eseguire il debug di ulteriori informazioni. Grazie! –

+0

Grazie mille! – DmitryKanunnikoff

12

SEVERE: Error listenerStart

Questo riduce a che un ServletContextListener che è registrato da una @WebListener annotazione sulla classe, o da una dichiarazione <listener> in web.xml, ha gettato un'eccezione non gestita all'interno del metodo contextInitialized(). Questo di solito è causato da un errore dello sviluppatore (un bug) e deve essere risolto. Ad esempio, a NullPointerException.

L'eccezione completo dovrebbe essere visibile nel registro di avvio specifici webapp così come la console IDE, prima la linea particolare che hai copypasted. Se non c'è nessuno e non si riesce ancora a capire la causa dell'eccezione osservando il codice, inserire l'intero codice contextInitialized() in un try-catch in cui si registra l'eccezione su un output affidabile e quindi l'interpretazione e la correzione di conseguenza.

+1

sto affrontando lo stesso problema, per favore un po 'di più posso provare a catturare sul contextInitialized(), perché il registro sta dando un vago messaggio che non posso interpretare come programmatore. come ulteriori informazioni questo problema si è verificato dopo offuscamento con proGuard, ho fatto in modo di aggiornare il web.xml applicationContext.xml così come altri config xml. – Genjuro

2

Ho affrontato esattamente lo stesso problema in un'app Web di Spring. Infatti, avevo rimosso molla sicurezza commentando l'annotazione config:

// @ImportResource({"/WEB-INF/spring-security.xml"}) 

ma avevo dimenticato per rimuovere i filtri corrispondenti web.xml:

<!-- Filters --> 
<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

filtri Commentando risolto il problema.

4

Per Intellij Idea a volte file localhost.log generati in posizioni diverse. Ad es. lo puoi trovare su homedirectory \ .IntelliJIdea14 \ system \ tomcat.

Se si utilizza molla, avviare il server in modalità di debug e inserire il punto di debug nel blocco catch del metodo refresh() di org.springframework.context.support.AbstractApplicationContext. Se la creazione del bean fallisce, sarai in grado di vedere l'eccezione.

1

Ciò può essere dovuto a una serie di motivi durante la configurazione del listener. Il modo migliore è registrarsi e vedere l'errore effettivo.Si può fare questo con l'aggiunta di un file logging.properties alla radice del classpath con il seguente contenuto:

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler

0

Selezionare "tutti i progetti" e fare clic destro

Maven-> Update project

Problemi correlati