tomcat classpath classloader粗略学习心得

tomcat classpath 粗略学习心得
有三种classloader
1.common classloader: 于$CATALINA_HOME/lib目录下的所有类和jar文件,这些资源对所有应用程序和Tomcat可见。
2.web classloader,每一个context会有一个web classloader,加载的是加载位于每个web应用程序WEB-INF/classes和WEB-INF/lib目录下的所有类和jar文件,个web应用程序仅仅可见自己目录下的资源。

3.catalina.properties的两个classloader:
3.1 Server loader 一般不要改动
3.2 Shared loader 可以自定义一些类库

如果它们的属性没有定义,Commons loader负责处理,shared loader将会在启动过程的最后阶段加载它的类,在Commons loader之后。

shared loader 引用一个外部仓库:
1、增加一个文件夹作为类仓库,使用“path/to/foldername”
2、增加一个文件夹下的所有jar文件作为类仓库,使用”path/to/foldername/*.jar”
3、增加单个jar文件作为类仓库,使用”file://path/to/foldername/jarname.jar”
4、调用环境变量,使用 {VARIABLE_NAME}
5、声明多个资源,用逗号分隔开
6、所有的路径相对于CATALINA_BASE或CATALINA_HOME,或者是绝对路径

参考:
http://blog.csdn.net/andyelvis/article/details/6719996

你可能感兴趣的:(tomcat)