Tomcat: возможно ли исключить jars во время развертывания приложения?
По умолчанию Tomcat не позволяет веб-приложениям загружать несколько файлов.jar, которые являются частью дистрибутива Tomcat (например, сервлет и API-интерфейсы JSP). Можно ли настроить другие, которые также будут исключены?
Если это невозможно сделать только с помощью конфигурации, предоставляет ли Tomcat какие-либо точки расширения для проверки ресурса?
Я хочу использовать разделяемые библиотеки журналов и должен убедиться, что ошибочное приложение не загромождает конфигурацию.
пример
Вот что я имею в виду (из журнала запуска 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
1 ответ
Вы проверяете / фильтруете, какие веб-приложения загружаются, используя пользовательский загрузчик, начиная с org.apache.catalina.loader.WebappClassLoader
как упомянуто в документации Tomcat.
Проверьте реализацию Tomcat (7.0.19) стандартаWebAppClassLoader
который реализует фильтрациюjavax.servlet.Servlet
для начала. Вероятно, достаточно переопределить этот класс и просто добавить еще несколько записей в protected String[]
поля triggers
а также packageTriggers
,