同一个类加载器对同一个类只加载一次,如果类加载器已经加载到这个类,再遇到相同的类文件,则进行忽略;利用这个特性,从而实现项目定制的Jar包中的类文件可以覆盖产品包中的类文件;
Tomcat7Tomcat7对WEB-INF/lib下的jar加载顺序是按照jar包名称英文的顺序进行加载,项目定制的jar包名称英文顺序在产品的jar包前,就可以实现项目定制的jar包覆盖产品的jar包;
Tomcat8Tomcat8对WEB-INF/lib下jar包加载顺序是随机的,这样就有可能无法优先加载项目定制的jar包,所以需要对项目定制的jar包设置优先加载,从而保证定制的包能够正常使用;
配置方式如果需要让Tomcat8优先加载指定的jar包,需要进行以下配置
在tomcat目录下,conf/context.xml中的标签内增加以下配置
配置示例
注意事项:在PreResources标签中配置的jar包路径,一定要保证jar包是存在的,如果不存在对应的jar包,则会导致Tomcat无法启动;



