2012-03-28 66 views
1

嘗試使用Audited Objects來移植我們一直在運行的make過程時,啓動servlet實例時出現故障。這也是我在StackOverflow上詢問這個問題的原因,而不是其他SE網站上的問題,因爲這涉及到開發人員的工具。Ubuntu 10.04上的Tomcat6和審覈對象

我將文件AO.war複製到/var/lib/tomcat6/webapps,當重新啓動Tomcat時,它會自動解壓到文件夾/var/lib/tomcat6/webapps/AO。但每當我試圖啓動實例(即正常顯示在Tomcat經理),我得到這個:

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

日誌文件給我:

SEVERE: Error configuring application listener of class com.aotool.web.listener.SessionListener 
java.lang.ClassNotFoundException: com.aotool.web.listener.SessionListener 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484) 
     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329) 
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3915) 
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467) 
     at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1251) 
     at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:613) 
     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.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:558) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
     at java.lang.Thread.run(Thread.java:636) 
Mar 28, 2012 11:47:22 PM org.apache.catalina.core.StandardContext listenerStart 

我不是一個Tomcat或Java開發人員,只有Tomcat的純粹用戶。之前,我嘗試使用here中描述的aoserveraoserver.cfg(調整爲修正路徑和所有權)方法,但這種方法默默無聞,沒有提供任何線索。

注意:我將/etc/tomcat6(及其下的文件)的所有權授予了運行Tomcat的tomcat6用戶。

運行Tomcat的版本是:6.0.24-2ubuntu1.10

+0

您應該不會將'/ etc/tomcat6'目錄的所有權授予'tomcat6'用戶 - 如果Tomcat服務器被黑客入侵,您希望儘可能少地寫入 - 理想情況下,在重新啓動時感染服務器。 – sarnold 2012-03-29 00:02:57

+0

@sarnold:我意識到這一點。但是:a。)這是一個內聯網中的開發機器,而且b)如果問題得到解決,我更願意再次強化安全性。 – 0xC0000022L 2012-03-29 00:05:16

+0

我不知道AO,但很明顯似乎在AO.war的WEB-INF/lib中缺少包含類com.aotool.web.listener.SessionListener的jar,或者該類本身在WEB中缺少-INF/classes中。你能解開戰爭並檢查嗎? – 2012-03-29 04:58:10

回答

0

停止服務器,並嘗試完全刪除的webapps/AO目錄。

在重新啓動之前檢查AO.war文件大小是否與預期的一樣。

+0

'AO.war'是14.04 MiB。當啓動Tomcat6時,'AO /'文件夾是15.11 MiB。這不會改變任何東西,但我發現它會自動提取文件之前嘗試過。 '.war'文件的MD5是'b09203ce866059ff0a04e56ad2202db1',它應該是'audited-objects-AO-1.0.10.zip'中的一個。 – 0xC0000022L 2012-04-03 14:15:07