Links
Contents
이 페이지에서는 당신이 Class Not Found 에러나 그와 유사한 에러를 만났을 때에 대해 논하고 있다. 당신이 다음 문서들을 읽어 보기를 강력히 추천한다: Classloader HOWTO 페이지: Tomcat 4.1, Tocmat 5.0, Tocmat 5.5. Don't use packageless classes and declare all imported classes ! 클래스 로더 문제에 관한 다른 답변들 NoClassDefFoundError exception을 만났다면, 근원적인 문제는 ClassNotFound Exception과 같은 원인일 것이다.
NoClassDefFoundError
ClassNotFound
왜 jsp:useBean가 정상적으로 실행되지 않습니까? 왜 java.lang.NoClassDefFoundError: javax/servlet/Filter 라는 메시지를 받습니까? 왜 NoClassDefFoundError: org/xml/sax/InputSource라는 메시지를 받습니까?
jsp:useBean
java.lang.NoClassDefFoundError: javax/servlet/Filter
NoClassDefFoundError: org/xml/sax/InputSource
왜 jsp:useBean가 정상적으로 실행되지 않습니까? 다음을 확인해 보세요: 당신의 빈즈는 패키지 선언이 되어 있는 클래스야 합니다. 패키지 구조를 포함한 완전한 클래스 명 (예:com.bar.package.MyClass) 이나 JSP페이지 위에 import 를 이용 (예: <%@ pageimport="com.bar.package.MyClass"%>)하여야 합니다. 왜 java.lang.NoClassDefFoundError: javax/servlet/Filter 라는 메시지를 받습니까? 아마도 servlet.jar파일이 있어서는 안될 어떤 곳에 복사되어 있을 수 있습니다. 이런 상황은 클래스 로더의 동작을 방해 합니다. 톰캣의 클래스 로더가 기대했던 대로 동작하지 않기 때문입니다. (위의 메시지 처럼) 왜 NoClassDefFoundError: org/xml/sax/InputSource라는 메시지를 받습니까? 당신의 classpath안에 있는 XML api jar 파일들에 충돌이 생겼습니다. 더 많은 정보는 README나 RELEASE_NOTES를 참고하세요.
com.bar.package.MyClass
<%@ pageimport="com.bar.package.MyClass"%>