2010-09-27 46 views
1

當我啓動tomcat時,出現以下異常。你能讓我知道原因嗎? 這是完整的堆棧跟蹤。Tomcat 5:在tomcat加載期間獲取juli異常

java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:61) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 

感謝 沙菲

+0

我有完全相同的問題。tomcat-juli.jar不包含日誌包,因此無法完成org.apache.juli.logging.LogFactory的搜索,該搜索可能位於其他位置。我重溫這並沒有對它做了一年多的任何工作項目,而奇怪的是,我以前沒有這個問題。 – belugabob 2010-11-19 09:49:56

+0

爲了解決這個問題,我不得不從的Tomcat6,是tomcat-juli.jar複製到我的Tomcat的安裝5。這感覺錯在許多層面上,而不是其中最重要的是,當我的應用程序最初被開發,Tomcat的6是不存在的 - 所以我無法理解應用程序之前怎麼跑。 – belugabob 2010-11-24 08:17:55

+0

更新:原來,有catalina.jar在我的WEB-INF/lib目錄下拷貝,刪除它解決了「巨力」的問題(和另外一個太)我不知道如何到達那裏,所以不要不問。 – belugabob 2010-11-26 12:30:34

回答

0

這聽起來像JAR tomcat-juli.jar丟失或損壞。檢查Tomcat發行歸檔文件的位置,然後重新安裝。

[編輯]上面的堆棧跟蹤說org.apache.jasper.servlet.JspServlet想要這個類。

JspServlet從哪裏來?也許你已經在你的網絡應用中部署了servlet.jar

你是否預編譯了你的JSP或其他東西?嘗試使用您在服務器上使用的Tomcat版本重新編譯它們。

+0

Tomcat的juli.jar是tomcat的/ bin目錄下已經存在。我試圖刪除它,但它的存在或缺席沒有任何區別。在這兩種情況下,我都收到相同的錯誤 – shafi 2010-09-27 09:07:33

+1

檢查存檔。也許它被破壞了某種程度。 – 2010-09-27 10:20:13

+0

tomcat insatllation來自新鮮下載,與一年前的文件備份中的安裝完全相同,而tomcat-juli.jar文件都不包含日誌記錄軟件包。這個類是否位於另一個jar中,這在Java世界中很常見? – belugabob 2010-11-19 10:27:05

1

只需執行以下步驟:

Tomcat的bootstrap.jar用來引用文件斌/ Tomcat的juli.jar在它的清單。這是因爲它迫使tomcat使用特定的庫。相反,它必須被添加到-classpath行。打開你的服務器配置,並將tomcat-juli.jar添加到類路徑中,並且它將工作。

+0

我試過一樣,但它沒有工作:( – shafi 2010-09-27 09:24:08