3

运行 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 文件,但我仍然遇到错误。有任何想法吗?

4

1 回答 1

2

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

只是创建一个新的“用户库”并添加到项目属性的构建路径中并不完全正确。他们还需要最终/WEB-INF/lib进入内置的 WAR。通常,您还需要在项目属性的部署程序集部分添加用户库。然而,这整个过程是不必要的笨拙。只需将这两个 JAR 文件放到/WEB-INF/lib动态 Web 项目的文件夹中即可。然后 Eclipse 将自动执行所有必要的魔法。您不需要摆弄项目的属性。为避免冲突,请撤消您在Build Path中所做的所有更改。

于 2013-08-28T15:05:20.050 回答