2013-03-02 35 views
1

我試圖部署上的Tomcat6 web應用程序/ CentOS5的webapp啓動失敗上的tomcat6

我做了配置,但是當我嘗試啓動Web應用程序失敗 這樣的傢伙在這裏說了做了一些修改在渴望系統中,這裏是新的日誌。

/usr/local/tomcat/logs/catalina.out最後幾行是:

------------- org.apache.catalina.core.ApplicationContext log 
INFO: HTMLManager: start: Starting web application at '/' 
------------- org.apache.catalina.core.StandardContext listenerStart 
SEVERE: Error configuring application listener of class org.ambraproject.configuration.WebAppListener 
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
     at org.ambraproject.configuration.WebAppListener.<clinit>(WebAppListener.java:40) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
     at java.lang.Class.newInstance0(Class.java:355) 
     at java.lang.Class.newInstance(Class.java:308) 
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4150) 
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) 
     at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1276) 
     at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:625) 
     at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:194) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
      ... 30 more 
------------- org.apache.catalina.core.StandardContext listenerStart 
    SEVERE: Skipped installing application listeners due to previous error(s) 
    Mar 2, 2013 5:46:07 PM org.apache.catalina.core.ApplicationContext log 
    INFO: HTMLManager: list: Listing contexts for virtual host 'localhost' 

,並從我的webxml文件在/ usr /本地/ Tomcat的/ webapps /目錄ROOT/WEB-INF是:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee"> 

    <display-name>Ambra</display-name> 

    <context-param> 
    <param-name>webAppRootKey</param-name> 
    <param-value>/WEB-INF/propertyConfigurer.xml /WEB-INF/countryList.xml /WEB-INF/profaneWords.xml /WEB-INF/applicationContext.xml</param-value> 
    </context-param> 

    <context-param> 
    <param-name>log4jConfigLocation</param-name> 
    <param-value>log4j.properties</param-value> 
    </context-param> 



    <resource-ref> 
    <description>Main Ambra Database</description> 
    <res-ref-name>jdbc/AmbraDS</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    </resource-ref> 

    <resource-env-ref> 
    <description>File Store for Ambra</description> 
    <resource-env-ref-name>ambra/FileStore</resource-env-ref-name> 
    <resource-env-ref-type>org.ambraproject.filestore.FileStoreService</resource-env-ref-type> 
    </resource-env-ref> 

    <filter> 
    <description>Filter out any request that matches regexp</description> 
    <filter-name>SinkHoleFilter</filter-name> 
    <filter-class>org.ambraproject.web.GatekeeperFilter</filter-class> 
    <init-param> 
     <param-name>regexp</param-name> 
     <param-value>.*\.ftl$</param-value> 
    </init-param> 
    </filter> 

    <filter> 
    <filter-name>UrlRewriteFilter</filter-name> 
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 
    </filter> 

    <filter> 
    <filter-name>MultipleRequestFilter</filter-name> 
    <filter-class>org.ambraproject.web.MultipleRequestFilter</filter-class> 
    <init-param> 
     <param-name>includePattern_fetchArticle</param-name> 
     <param-value>.*\/article\/info.*</param-value> 
    </init-param> 
    <init-param> 
     <param-name>includePattern_browseIssue</param-name> 
     <param-value>.*browseIssue\.action.*</param-value> 
    </init-param> 
    <init-param> 
     <param-name>includePattern_browseVolume</param-name> 
     <param-value>.*browseVolume\.action.*</param-value> 
    </init-param> 
    </filter> 

    <filter> 
    <description>Sets the virtual journal context. 
Should be 1st in the chain as other Filters, e.g. caching, may rely on the journal context.</description> 
    <filter-name>VirtualJournalContextFilter</filter-name> 
    <filter-class>org.ambraproject.web.VirtualJournalContextFilter</filter-class> 
    </filter> 

    <filter> 
    <description>Should immediately follow VirtualJournalContext in Filter chain. 
If a virtual journal context is set, check to see if requested resource has a virtual journal override. 
If so, wrap request with virtual journal override values in FilterChain.</description> 
    <filter-name>VirtualJournalMappingFilter</filter-name> 
    <filter-class>org.ambraproject.web.VirtualJournalMappingFilter</filter-class> 
    </filter> 

    <filter> 
    <filter-name>DummySSOFilter</filter-name> 
    <filter-class>org.ambraproject.web.DummySSOFilter</filter-class> 
    <!-- uncomment these if you want to be logged in by default when you start the server 
    <init-param> 
     <param-name>auth.id</param-name> 
     <param-value>foo</param-value> 
    </init-param> 
    <init-param> 
     <param-name>email</param-name> 
     <param-value>[email protected]</param-value> 
    </init-param> 
    --> 
    <init-param> 
     <param-name>casUrl</param-name> 
     <param-value>https://localhost:7443/cas/</param-value> 
    </init-param> 
    <init-param> 
     <param-name>wrapRequest</param-name> 
     <param-value>false</param-value> 
    </init-param> 
    </filter> 

    <filter> 
    <filter-name>CAS Filter</filter-name> 
    <filter-class>org.ambraproject.service.cas.client.filter.CASFilterWrapper</filter-class> 
    <init-param> 
     <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> 
     <param-value>https://localhost:7443/cas/login</param-value> 
    </init-param> 
    <init-param> 
     <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> 
     <param-value>https://localhost:7443/cas/proxyValidate</param-value> 
    </init-param> 
    <init-param> 
     <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> 
     <param-value>localhost:8080</param-value> 
    </init-param> 
    <init-param> 
     <param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name> 
     <param-value>false</param-value> 
    </init-param> 
    </filter> 

    <filter> 
    <filter-name>gzip</filter-name> 
    <filter-class>org.mortbay.servlet.GzipFilter</filter-class> 
    <init-param> 
     <param-name>minGzipSize</param-name> 
     <param-value>100</param-value> 
    </init-param> 
    <init-param> 
     <param-name>mimeTypes</param-name> 
     <param-value>text/html,text/plain,text/css,text/javascript,application/xml,application/atom+xml</param-value> 
    </init-param> 
    </filter> 

    <filter> 
    <filter-name>journalStaticResources</filter-name> 
    <filter-class>org.ambraproject.web.JournalStaticResourceFilter</filter-class> 
    </filter> 

    <filter> 
    <filter-name>struts2</filter-name> 
    <!-- 
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
    --> 
    <filter-class>org.ambraproject.struts2.AmbraStruts2Dispatcher</filter-class> 
    <init-param> 
     <param-name>packages</param-name> 
     <param-value>struts</param-value> 
    </init-param> 
    </filter> 

    <!-- 
    <filter> 
    <filter-name>DebuggingFilter</filter-name> 
    <filter-class>org.ambraproject.web.DebuggingFilter</filter-class> 
    </filter> 
    --> 


    <filter-mapping> 
    <filter-name>SinkHoleFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>MultipleRequestFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>UrlRewriteFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>VirtualJournalContextFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>ERROR</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>VirtualJournalMappingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>DummySSOFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>CAS Filter</filter-name> 
    <url-pattern>/annotation/secure/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>CAS Filter</filter-name> 
    <url-pattern>/user/secure/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>CAS Filter</filter-name> 
    <url-pattern>/rate/secure/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>CAS Filter</filter-name> 
    <url-pattern>/admin/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>gzip</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>journalStaticResources</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>ERROR</dispatcher> 
    </filter-mapping> 

    <filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>ERROR</dispatcher> 
    </filter-mapping> 

    <!-- 
    <filter-mapping > 
    <filter-name>DebuggingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    </filter-mapping> 
--> 

    <listener> 
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
    </listener> 


    <!-- The configuration WebAppListener to pull in the configuration stuff automatically. --> 
    <listener> 
    <listener-class>org.ambraproject.configuration.WebAppListener</listener-class> 
    </listener> 
    <!-- to hook in the spring container --> 
    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
    <!-- to hook in the scope management system that provides scopes like session, request for Servlet 2.4 and Spring 2.0 above --> 
    <listener> 
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> 
    </listener> 

    <!-- Count the number of active sessions and make it available. --> 
    <listener> 
    <listener-class>org.ambraproject.web.SessionCounter</listener-class> 
    </listener> 



    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

    <error-page> 
    <error-code>404</error-code> 
    <location>/static/pageNotFound.action</location> 
    </error-page> 

    <session-config> 
    <session-timeout>1440</session-timeout> 
    </session-config> 
</web-app> 
+0

這裏沒有足夠的信息。你所看到的是問題的症狀。 Tomcat正在嘗試取消部署應用程序,同時這樣做會抱怨應用程序通過創建線程泄漏內存。它爲什麼試圖解除部署?因爲它在部署期間失敗。您未包含任何與部署錯誤相關的日誌消息。 – Brandon 2013-03-02 17:21:48

+0

坦克,我會這樣做 – AhAd 2013-03-02 17:51:42

回答

0

你的classpath中是否有Apache commons-logging jar文件?它似乎是一個班級,是你缺少的公用日誌的一部分。

+0

坦克兄弟的工作 – AhAd 2013-03-02 20:46:08

+0

很高興它的工作。 – Michael 2013-03-02 22:57:54

0

創建WEB-INF/classes/logging.properties在戰爭文件中,其內容如下:

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

這將幫助您找到Error listnerStart系列的真正問題。我以前用過這個,發現ClassNotFound錯誤等原因。

更多信息here

+0

坦克我做你說的,但仍然usr/local/tomcat/logs/catalina.out是給出相同的outPut – AhAd 2013-03-02 17:34:25

+0

然後,你將需要做的布蘭登在評論中說,並提供更多信息。發佈您的'web.xml',以及關於您的webapp的更多信息,或者在第一個SEVERE之前是否有其他日誌。 – 2013-03-02 17:40:11

+0

正如邁克爾說的那樣,你正在失蹤公共事業日誌 – 2013-03-02 20:04:35