Howdy,
See intermixed.
I'm having trouble executing a JSP page that is throwing
NoClassDefFoundError for a class that it should find. The JSP page
instantiates an object via the tag:
One of the keys to understanding this issue is understanding the
difference between a ClassNotFound and a NoClassDefFound errors. The
JavaDocs for the two have some more details.
The class ipa.LoginBean is in WEB-INF/lib/ipa.jar. However, it
references
a
class com.ibm.db.Statement which I've placed in
$CATALINA_HOME/shared/lib/ivjdab35.jar in my Tomcat 4.1.8 server (I
also
have it in $CATALINA_HOME/lib/ivjdab35.jar in my Tomcat 4.0.6 server).
Do you mean 4.1.18 instead of 4.1.8? Assuming that you do, try moving
the ivjdab25.jar from shared/lib to common/lib.
This is totally IMHO, but I don't like putting anything in the
common/lib or shared/lib directories. Two reasons:
- I like the principal of self-containment for web applications. One
war file with everything, without needing to rely on server-specific
magic directories.
- Several server implementations (not just tomcat) seem to have bugs in
this complicated classloading implementation.
I can't figure out why the servlet engine can compile the page but not
run
it.
It's a pain of a classloading issue. There is more than one related
open Bugzilla issue around this if you care to search there.
Essentially, the classpath for Jasper is NOT that same as the runtime
classpath for the compiled servlet.
Furthermore, the behavior between the 4.0.6 and 4.1.8 server is
different
True, but that's valid.
Lastly, if I copy ivjdab35.jar into WEB-INF/lib, it works properly
every
time.
See my above preference for this approach anyways. The benefits from
putting anything in a common/lib type directory are negligible at best.
Yoav Shapira
Millennium ChemInformatics
This e-mail, including any attachments, is a confidential business communication, and
may contain information that is confidential, proprietary and/or privileged. This
e-mail is intended only for the individual(s) to whom it is addressed, and may not be
saved, copied, printed, disclosed or used by anyone else. If you are not the(an)
intended recipient, please immediately delete this e-mail from your computer system
and notify the sender. Thank you.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]