PrimeFaces FileUpload过滤器ClassNotFound异常

时间:2013-08-28 15:01:56

标签: jsf file-upload primefaces

我在运行JSF项目时遇到错误。这是错误日志;

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-fileupload-1.3.jar和commons-io-2.4.jar文件,但我仍然遇到错误。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

当你在那里说“用户库”时,我认为你指的是特定于Eclipse的用户库管理。我也认为你已经安装了PrimeFaces,否则这是Obvious先生的食物。如果Commons FileUpload和/或Commons IO不存在,它的FileUploadFilter确实无法初始化。您应该在堆栈跟踪中看到NoClassDefFoundError

只是创建一个新的“用户库”并添加到项目属性的 Build Path 并不是正确的方法。它们还需要在构建的WAR的/WEB-INF/lib中结束。通常,您还需要在项目属性的 Deployment Assembly 部分中添加用户库。但是,整个过程不必要地笨拙。只需将这两个JAR文件放在动态Web项目的/WEB-INF/lib文件夹中即可。 Eclipse将自动完成所有必要的魔术。你不需要弄乱项目的属性。为避免冲突,请撤消您在构建路径中所做的所有更改。