Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add Q list. Update doc refs.

...

  • 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.05-doc/class-loader-howto.html Tomcat 5.05\],  \[http://tomcat.apache.org/tomcat-56.50-doc/class-loader-howto.html Tomcat 56.50\].
  • 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\]!
  • 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

  1. Wiki Markup
    \[#Q1 Why is jsp:useBean is not working?\]
  2. Wiki Markup
    \[#Q2 Why do I get java.lang.NoClassDefFoundError: javax/servlet/Filter?\]
  3. Wiki Markup
    \[#Q3 Why do I get java.lang.NoClassDefFoundError: org/xml/sax/InputSource?\]
    \\

Answers

*Why is

No Format
 jsp:useBean 

...

  • Your bean is packaged in a class.
  • You have fully qualified your class name (eg:
    No Format
     com.bar.package.MyClass 
    ) OR
  • You have imported your class into your jsp (eg:
    No Format
     <%@ pageimport="com.bar.package.MyClass"%> 
    )

*Why do I get

No Format
 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

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.