2012-06-08 103 views
5

我有一個WAR,Tomcat將不會部署,而它通常會給我一些原因或某些跡象表明爲什麼它不會部署該應用程序,Tomcat的catalina日誌輸出只顯示:WAR不會部署到Tomcat 7.0.19

重度:上下文[/ AppMon接口-QA]啓動失敗由於先前的錯誤

這裏是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> 

而這AppMonitor類中重要的東西:

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()); 
     } 
    } 
} 

而且非常模糊/ undescriptive日誌輸出:

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 

我取消部署這場戰爭並部署一個又一個,我知道工作正常和Tomcat 7.0.19啓動它沒有任何問題,所以我知道它不是Tomcat /配置問題。這在我的戰爭中顯然是錯誤的。目錄結構如下:

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

如果有什麼問題我的(超級簡單)web.xml,Tomcat的將在日誌輸出抱怨。如果我的web.xml/ServletContextListener沒問題,但是在我的contextInitialized方法中發生了異常,catch塊會將消息打印到控制檯 - 但這不會發生。

任何有關什麼可能是潛在的問題或我有什麼選擇開始診斷這個想法?提前致謝!

+0

它應該是酒吧lic void contextDestroyed。是一個錯字? –

+0

它真的是'public contextDestroyed(ServletContextEvent event)'? 「空白」在哪裏? –

+0

對不起,這是一個錯字 - 編輯! – IAmYourFaja

回答

1

你應該在你的方法中調用超類。

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

.... }

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

作爲一個額外的,你可以確保增加你的Tomcat服務器上的日誌級別(可能整合的log4j) http://tomcat.apache.org/tomcat-7.0-doc/logging.html

Mihai