当处理从Web应用程序的WebappX类加载器加载类的请求时,该类加载器将首先在本地存储库中查找,而不是在查找之前委派。也有例外。属于JRE基类的类不能被覆盖。对于某些类(例如J2SE 1.4+中的XML解析器组件),可以使用J2SE 1.4认可的功能(请参见上面的通用类加载器定义)。最后,任何包含servlet API类的JAR都将被类加载器忽略。Tomcat 5中的所有其他类装入器都遵循通常的委托模式。
因此,从Web应用程序的角度来看,类或资源的加载按以下顺序查找以下存储库:
Bootstrap classes of your JVM
System class loader classes (described above)
/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
$CATALINA_HOME/common/classes
$CATALINA_HOME/common/endorsed/*.jar
$CATALINA_HOME/common/i18n/*.jar
$CATALINA_HOME/common/lib/*.jar
$CATALINA_BASE/shared/classes
$CATALINA_BASE/shared/lib/*.jar
因此,在WEB-INF / lib之前先搜索WEB-INF / classs
参考:http ://tomcat.apache.org/tomcat-5.5-doc/class-loader- howto.html