Read this document about classloader (PDF)
  • System classloader is the content of the system variable CLASSPATH= you defined higher level
  • Loader of the servlet runner is own classloader of Resin, tomcat or other
  • Application classloader (controlled by resin or tomcat) find classes which are in the webapps directory (Application class).
  • Your own classloader if you write own lower level

As soon as you request a class in one of these loader, the classloader will take the first found during its walk under this rules:

  • if the class is not found at the current level (place where you request it, most of the time in your application), it will try to load it from the upper level, if not found it will continue and finish in the system classloader.
  • There is no downward request.

You might like also

Developer cartoons
Don't forget to click Read More ;-) …
4089 Days ago
No Thumbnail was found
 java.lang.ClassNotFound and ClassNotDefFoundError are different but what if my classes are in classpath?  Remember:ClassNotDefFoundError is thrown if a class definition of the hierarchy is not located by the classloader ClassNotFound if the file or class can not be found in classpath. Remember only some servletrunner can open jar files, so having jar files in a directory without having them explicitely in classpath do not help much. You must have the name of jar file in CPath. …
5625 Days ago
No Thumbnail was found
Parser incompatibility or Parser order in Classpath, classloader, loading sequence in a highly complex and distributed environment. Especially in a distributed environment, order of parser found is a major problem during the walk of the JVM in classpath. For example, Different versions of the parser SAX are co-existing in the classpath due to components restrictions :Parser sax 1.0 is required for BEA Weblogic 6.0 and Xerces 1.3.1 Parser sax 2.0 is required for Xerces 1.4 and crimson Crimson is required …
5625 Days ago
on NT system: command line too long
#Java problem N°1 On windows NT machine, command line length is limited to 1024 characters!, clearly not enough for a distributed classpath with a lot of frameworks or 3rd party tools.SolutionsReduce number of jar files, instead of having 10 jar files, you can try to build only one, use automatic build process, with jakarta ANT during the build and for your deployment. This is often not a good/verybad solution.Put the half classpath size in java ext classpath (if you use …
5625 Days ago