2013-08-28 55 views
2

我在運行JSF項目時遇到錯誤。這是錯誤日誌;PrimeFaces FileUpload篩選器ClassNotFound異常

org.apache.catalina.core.StandardContext filterStart 
SEVERE: Exception starting filter PrimeFaces FileUpload Filter 
java.lang.ClassNotFoundException: org.primefaces.webapp.filter.FileUploadFilter 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:724) 

org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error filterStart 
org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/Project] startup failed due to previous errors 

我已經創建了一個用戶庫中添加的commons-文件上傳-1.3.jar和commons-IO-2.4.jar文件,但我仍然剛開的錯誤。有任何想法嗎?

回答

2

我收集你的意思是當你在那裏說「用戶庫」時特定於Eclipse的用戶庫管理。我也收集到你已經安裝了PrimeFaces,否則這是Obvious先生的食物。如果Commons FileUpload和/或Commons IO不存在,它的FileUploadFilter確實無法像這樣初始化。您應該在堆棧跟蹤中進一步看到NoClassDefFoundError

只是創建一個新的「用戶庫」,並添加到構建路徑項目的屬性不完全正確的方式。他們還需要建立WAR中的/WEB-INF/lib。通常,您還需要在項目屬性的部署程序集中添加用戶庫。然而,這整個過程是不必要的笨拙。只需將這兩個JAR文件放入動態Web項目的/WEB-INF/lib文件夾即可。然後Eclipse會自動完成所有必要的魔法。你不需要在項目的屬性中擺弄。爲避免衝突,請撤消您在構建路徑中所做的所有更改。

+0

你說得對,Build Path已經搞砸了。我刪除了所有庫並重新配置,現在一切看起來都很好。謝謝! – oktay

+0

不客氣。 – BalusC