2013-08-28 3 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 

는 이미 사용자 라이브러리가 평민 - 파일 업로드-1.3.jar와 공유지-IO-2.4.jar 파일을 추가 만든하지만 난 여전히 오류가 뻥. 어떤 아이디어?

답변

2

내가 "사용자 라이브러리"라고 말했을 때 Eclipse 전용 사용자 라이브러리 관리를 의미한다는 것을 모았습니다. PrimeFaces를 이미 설치했는지 여부를 수집합니다. 그렇지 않으면 Mr. Obvious의 음식입니다. 그것의 FileUploadFilter은 Commons FileUpload 및/또는 Commons IO가 없다면 실제로 초기화되지 않습니다. 스택 추적에서 NoClassDefFoundError을 더보아야합니다.

새로운 "사용자 라이브러리"를 만들고 프로젝트 등록 정보의 빌드 경로을 추가하는 것이 정확한 방법은 아닙니다. 또한 빌드 된 WAR의 /WEB-INF/lib으로 끝나야합니다. 일반적으로 프로젝트 라이브러리의 배치 어셈블리 섹션에 사용자 라이브러리를 추가해야합니다. 그러나이 모든 과정은 불필요하게 어색합니다. 이 두 개의 JAR 파일을 동적 웹 프로젝트의 /WEB-INF/lib 폴더에 드롭하면됩니다. 이클립스는 자동으로 필요한 모든 마술을 수행합니다. 프로젝트 속성에서 바이올린을 사용하지 않아도됩니다. 충돌을 피하려면 빌드 경로에서 변경 한 내용을 모두 취소하십시오.

+0

당신이 옳았습니다. Build Path가 엉망이되었습니다. 모든 라이브러리를 제거하고 재구성했습니다. 이제는 모든 것이 잘된 것처럼 보입니다. 감사! – oktay

+0

반갑습니다. – BalusC