...
Permalink to this page: https://cwiki.apache.org/confluence/x/tSklBg
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 69.0, Tomcat 8.5.5, Tomcat 7.0, (historic: 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
Anchor | ||||
---|---|---|---|---|
|
...
Why is
...
jsp:useBean
...
is not working?
...
Make sure:
- Your bean is packaged in a class.
You have fully qualified your class name (
eg:No Format e.g.:
com.bar.package.MyClass
) OR
You have imported your class into your jsp (
eg: <%@ pageNo Format e.g.:
<%@ page import="com.bar.package.MyClass"%>
)
Anchor | ||||
---|---|---|---|---|
|
...
Why do I get
...
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.
Anchor | ||||
---|---|---|---|---|
|
...
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.
...