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 が既にインストールされていることもわかりました。FileUploadFilterCommons FileUpload および/または Commons IO が存在しない場合、そのような初期化に実際に失敗します。NoClassDefFoundErrorスタック トレースにさらに表示されるはずです。

新しい「ユーザー ライブラリ」を作成し、プロジェクトのプロパティのビルド パスに追加するだけでは、正しい方法とは言えません。また/WEB-INF/lib、ビルドされた WAR に含まれる必要があります。通常、プロジェクトのプロパティのDeployment Assemblyセクションにもユーザー ライブラリを追加する必要があります。ただし、このプロセス全体は不必要に扱いにくいものです。これら 2 つの JAR ファイル/WEB-INF/libを動的 Web プロジェクトのフォルダーにドロップするだけです。その後、Eclipse は必要なすべての魔法を自動的に実行します。プロジェクトのプロパティをいじる必要はありません。競合を避けるために、 Build Pathで行ったすべての変更を元に戻します。

于 2013-08-28T15:05:20.050 に答える