De la experiencia: las dos aplicaciones web están completamente aisladas entre sí - las bibliotecas para una no se utilizan en otra - por lo tanto, para responder a su pregunta inicial - sí, se cargarían dos veces.
Para contestar la segunda pregunta, si debe implementar estas bibliotecas en el directorio compartido de Tomcat - Yo diría que no, y aquí es por qué:
Si implementa un tarro biblioteca en la ubicación compartida (Tomcat/server/lib), entonces esa versión de la biblioteca se convierte en la predeterminada para todas las aplicaciones web que se ejecutan bajo esa instancia de Tomcat. Como puede ver en this overview of the tomcat architecture, el cargador de clases funciona "por cadena", siendo la carpeta de lib de la aplicación web individual el último lugar donde se verá antes de arrojar una excepción de clase no encontrada. Esto no es cierto en Tomcat 6 y Tomcat 7: cualquier clase en la carpeta de aplicaciones web lib y clases será resuelto antes que en común, y por lo tanto, esto no romperá otras aplicaciones que implementan todos sus jarrones en la guerra 2 .
El problema, por lo tanto, de implementar una biblioteca compartida en ese directorio es que rompe la arquitectura de las aplicaciones individuales que se aíslan unas de otras. Está bien en su ejemplo inicial, pero si desea implementar una aplicación de terceros (por ejemplo, si ejecuta una aplicación que consume Portlet para manejar contenido específico), se ejecuta al instante en los problemas de dependencia de la versión: su versión compartida de una biblioteca puede no es correcto para la aplicación de terceros, pero como el paquete ya está cargado, lanzará excepciones a la derecha y al centro.
No tengo un directorio común en el interior del servidor, sólo tener clases y directorio lib. ¿Debo crear uno común dentro? –
He editado mi publicación para indicar que el buen directorio para usar es [tomcat-installation-directory]/common/lib – romaintaz
aparentemente está bien [y se recomienda] implementar controladores jdbc para compartir FWIW http://stackoverflow.com/questions/ 6981564/why-jdbc-driver-must-been-put-in-tomcat-home-lib-folder] – rogerdpack