2012-06-08 10 views
5

Ho un WAR che Tomcat non distribuirà e, mentre normalmente mi fornisce il motivo o qualche indicazione sul motivo per cui non distribuirà l'app, l'output del registro catalina di Tomcat indica semplicemente :WAR non verrà distribuito a Tomcat 7.0.19

GRAVI: Contesto [/ AppMon-qa] avvio riuscita a causa di precedenti errori

Ecco la web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
    version="2.4"> 

    <!-- The display name of this web application --> 
    <display-name>AppMonitor</display-name> 

    <listener> 
     <listener-class> 
      com.me.myorg.appmon.AppMonitor 
     </listener-class> 
    </listener> 
</web-app> 

E il cose importanti all'interno che AppMonitor classe:

public class AppMonitor implements ServletContextListener { 
    @Override 
    public void contextDestroyed(ServletContextEvent event) { 
     return; 
    } 

    @Override 
    public void contextInitialized(ServletContextEvent event) { 
     try { 
      // Guts of my monitor app 
     } catch(Exception exc) { 
      System.out.println("Something bad happened!\n" + exc.getMessage()); 
     } 
    } 
} 

E il straordinariamente vaga/undescriptive output di registro:

INFO: Deploying web application archive appmon-qa.war 
Jun 8, 2012 9:45:30 AM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
Jun 8, 2012 9:45:31 AM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/appmon-qa] startup failed due to previous errors 
Jun 8, 2012 9:45:31 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory docs 
Jun 8, 2012 9:45:31 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory examples 
Jun 8, 2012 9:45:32 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory host-manager 
Jun 8, 2012 9:45:32 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory manager 
Jun 8, 2012 9:45:32 AM org.apache.catalina.startup.HostConfig deployDirectory 
INFO: Deploying web application directory ROOT 
Jun 8, 2012 9:45:32 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jun 8, 2012 9:45:32 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Jun 8, 2012 9:45:32 AM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-nio-8010"] 
Jun 8, 2012 9:45:32 AM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 2875 ms 

ho undeployed questa guerra e schierato un altro che io so funziona bene e Tomcat 7.0.19 lanciato senza problemi, quindi io so non è un problema di configurazione/Tomcat. Questo è chiaramente qualcosa di sbagliato nella mia GUERRA. Struttura di directory è la seguente:

appmon-qa.war/ 
    META-INF/ 
     MANIFEST.MF 
    WEB-INF/ 
     classes/ 
      All of my binaries 
     lib/ 
      All JAR dependencies 
     web.xml 

Se c'era qualcosa di sbagliato con il mio (super-semplice) web.xml, Tomcat dovrebbe essere lamentavano nell'output registro. Se il mio web.xml/ServletContextListener andava bene, ma qualcosa stava generando un'eccezione nel mio metodo contextInitialized, il blocco catch stamperebbe il messaggio sulla console, ma ciò non sta accadendo.

Qualche idea su quale potrebbe essere il problema di fondo o quali opzioni devo iniziare a diagnosticare questo? Grazie in anticipo!

+0

dovrebbe essere pub lic void contextDestroyed. è un errore? –

+0

È davvero 'public contextDestroyed (ServletContextEvent event)'? Dov'è il 'vuoto? –

+0

Ci scusiamo per questo - è stato un refuso - editato! – IAmYourFaja

risposta

1

Dovresti chiamare la super classe nei tuoi metodi.

@Override 
public void contextInitialized(ServletContextEvent servletContextEvent) { 
     super.contextInitialized(servletContextEvent); 

.... }

e

@Override 
    public void contextDestroyed(ServletContextEvent servletContextEvent) { 
     super.contextDestroyed(servletContextEvent); 
    } 

Come extra si potrebbe fare in modo di aumentare il livello di log sul server Tomcat (forse integrare log4j) http://tomcat.apache.org/tomcat-7.0-doc/logging.html

Mihai

Problemi correlati