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,

Другие вопросы по тегам