Carregamento de classe do Tomcat 8 - diferença entre o JAR em [WEB-INF / lib] e [tomcat / lib]
Dizaqui que o carregador de classe comum é visível para todos os aplicativos da web. Então, qual é a diferença entre ter um arquivo JAR dentro do diretórioWEB-INF/lib
pasta do meuwar
aplicativo e com o mesmo arquivo JAR dentro do Tomcatlib
pasta?
Este JAR é um provedor para um Java SPI que eu criei. Quando eu tenho sobWEB-INF/lib
, tudo funciona perfeitamente. Mas se eu tentar colocar esse JAR sob o Tomcatlib
pasta (ou emshared/lib
depois de configurá-locatalina.properties
) Eu recebo erros. A segunda opção é melhor para mim, pois preciso desacoplar totalmente meu aplicativo e o provedor.
O erro que recebo é umClassNotFoundException
para a interface que representa meu serviço (que o JAR implementa). Essa interface está em um terceiro projeto, que é uma dependência para o meuwar
inscrição.