Class Not Found Issues
Preface
This page discusses the various ways you see Class Not Found errors or very similar errors. It is strongly advised you read the following topics:
- Classloader HOWTO pages: Tomcat 4.1, Tomcat 5.5, Tomcat 6.0.
- Don't use packageless classes and declare all imported classes!
- Another answer to a classloader issue
If you get a NoClassDefFoundError
exception, the root cause might be the same as for a ClassNotFound
exception.
Questions
- Why is jsp:useBean is not working?
- Why do I get java.lang.NoClassDefFoundError: javax/servlet/Filter?
- Why do I get java.lang.NoClassDefFoundError: org/xml/sax/InputSource?
Answers
*Why is
jsp:useBean
is not working?*
Make sure:
- Your bean is packaged in a class.
- You have fully qualified your class name (eg:
) OR
com.bar.package.MyClass
- You have imported your class into your jsp (eg:
)
<%@ pageimport="com.bar.package.MyClass"%>
*Why do I get
java.lang.NoClassDefFoundError: javax/servlet/Filter
?*
You probably have servlet.jar floating around somewhere it shouldn't be. This really messes up the classloaders since Tomcat's classloaders don't act quite as normal as one expects (see links above). servlet.jar should only be found only once in $CATALINA_HOME/common/lib.
*Why do I get
java.lang.NoClassDefFoundError: org/xml/sax/InputSource
?*
You have conflicting XML api jar files in your classpath. Read the README or RELEASE-NOTES for more information.