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:
Wiki Markup |
Classloader HOWTO pages: \[http://tomcat.apache.org/tomcat-4.1-doc/class-loader-howto.html Tomcat 4.1\], \[http://tomcat.apache.org/tomcat-5.0-doc/class-loader-howto.html Tomcat 5.0\], \[http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html Tomcat 5.5\]. Wiki Markup |
---|
\[http://marc.theaimsgroup.com/?t=104317529200004&r=1&w=2 Don't\] \[http://marc.theaimsgroup.com/?t=104380440100003&r=1&w=2 use\] \[http://marc.theaimsgroup.com/?t=96947656900002&r=1&w=2 packageless\] \[http://marc.theaimsgroup.com/?t=104491020100002&r=1&w=2 classes\] \[http://marc.theaimsgroup.com/?t=104265576200003&r=1&w=2 and\] \[http://marc.theaimsgroup.com/?t=104249748300001&r=1&w=2 declare\] \[http://marc.theaimsgroup.com/?t=102996950100003&r=1&w=2 all\] \[http://marc.theaimsgroup.com/?t=102922189400001&r=1&w=2 imported classes\]! |
- Tomcat 7.0, Tomcat 6.0.
- Don't use packageless classes and declare all imported classes!
- Another answer to a classloader issue
Wiki Markup |
\[http://marc.theaimsgroup.com/?l=tomcat-user&m=103843452413727&w=2 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 is not working?*
Make sure:
- Your bean is packaged in a class.
- You have fully qualified your class name (eg:e.g.:
No Format |
---|
com.bar.package.MyClass |
) OR - You have imported your class into your jsp (eg: <%@ pageimporte.g.:
No Format |
---|
<%@ page import="com.bar.package.MyClass"%> |
)
*Why do I get No Format |
---|
java.lang.NoClassDefFoundError: javax/servlet/Filter |
?*
You probably have servlet-api.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-api.jar should only be found only once in $CATALINA_HOME/common/lib.
*Why do I get No Format |
---|
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.
...
CategoryFAQ