I was looking at the classloader documentation in cvs at
catalina/docs/dev/classloaders.html and comparing it to
how Tomcat 4 actually sets up the classloaders. I found
some discrepancies.
According to the docs the System class loader (CLASSPATH)
has bin/bootstrap.jar and
After thinking about this some more I have a proposal to change the
Tomcat 4 class loading.
The class loaders that Catalina uses are organized as follows, where
the parent class loader is above the child class loaders:
Bootstrap
|
I was looking at the classloader documentation in cvs at
catalina/docs/dev/classloaders.html and comparing it to
how Tomcat 4 actually sets up the classloaders. I found
some discrepancies.
According to the docs the System class loader (CLASSPATH)
has bin/bootstrap.jar and
The above changes remove one class loading layer from a web app,
allows Common classes to use property files and resources, and cleans
up the directories where jar files and classes are located.
The Catalina core would see the shared libraires, which is a very bad idea
IMO. We'll get into the
Remy Maucherat wrote:
The above changes remove one class loading layer from a web app,
allows Common classes to use property files and resources, and cleans
up the directories where jar files and classes are located.
The Catalina core would see the shared libraires, which is a very bad
Remy Maucherat wrote:
Thats right! Ok, I retract my proposal for changing the class loaders.
What we can do is add a lib/classes/ repository to the shared
classloader.
I still think it would be a good idea to change the directory structure of
where the lib/classes are located to make it