Tomcat:可能在应用程序部署期间排除jar子?

默认情况下,Tomcat阻止Web应用程序加载多个.jar,它们是Tomcat发行版的一部分(例如servlet和JSP API) – 是否可以configuration其他的也被排除?

如果不能单独configuration,Tomcat是否提供了资源validation的扩展点?

我想使用共享日志logging库,并需要确保一个错误的应用程序不会破坏configuration。

这就是我指的(从Tomcat启动日志):

Oct 1, 2011 5:53:40 AM org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(D:\tomcat\myapp\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

您可以使用从Tomcat文档中提到的org.apache.catalina.loader.WebappClassLoader扩展的自定义加载器来检查/过滤哪些Web应用程序加载。

查看实现了javax.servlet.Servlet过滤 的标准WebAppClassLoader Tomcat实现(7.0.19) 。 重写这个类可能就足够了,只需要在protected String[]字段triggerspackageTriggers更多的条目packageTriggers