Tomcat: possível excluir frascos durante a implantação do aplicativo?

8

Por padrão, o Tomcat impede que os webapps carreguem vários .jars que fazem parte da distribuição do Tomcat (por exemplo, as APIs do servlet e do JSP) - é possível configurar outros para também serem excluídos?

Se isso não puder ser feito apenas com a configuração, o Tomcat fornecerá algum ponto de extensão para a validação de recursos?

Eu quero usar bibliotecas de registro compartilhadas e preciso ter certeza de que um aplicativo errante não atrapalha a configuração.

Exemplo

Isso é o que estou referindo (a partir do log de inicialização do 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
    
por Dmitri 01.10.2011 / 11:35

1 resposta

6

Você verifica / filtra o que os aplicativos da Web carregam usando um carregador personalizado que se estende de org.apache.catalina.loader.WebappClassLoader , conforme mencionado no Documentação do Tomcat .

Confira Implementação do Tomcat (7.0.19) do padrão WebAppClassLoader que implementa o filtragem de javax.servlet.Servlet para obter começado. É provavelmente o suficiente para substituir essa classe e colocar mais algumas entradas nos protected String[] fields triggers e packageTriggers .

    
por 01.10.2011 / 12:25