He estado luchando con el mismo problema durante mucho tiempo, y finalmente tropecé con una buena solución: "Carpetas enlazadas". Esta es una función de Eclipse que funciona de manera similar a los enlaces simbólicos: le permite asignar una única carpeta física en múltiples proyectos. Lo bueno de esta solución es que no requiere ningún paso de compilación especial, por lo que Eclipse puede implementar automáticamente cambios en su servidor Tomcat local para realizar pruebas.
Mi configuración es la siguiente: Tengo un proyecto de Eclipse llamado "SharedContent". Dentro del directorio WebContent, hay un subdirectorio "shareRoot". Todos los archivos reutilizables - .jsp, .css, etc. - se encuentran en algún lugar en SharedContent/WebContent/shareRoot. Este es un proyecto web dinámico para que todos los editores apropiados estén habilitados, pero nunca lo construyo ni lo despliego.
En mis otros proyectos, agrego una carpeta vinculada que apunta a shareRoot. En Eclipse 3.6, los pasos son:
En el Explorador de paquetes, haga clic en el directorio WebContent del proyecto, que debe incluir los archivos reutilizables.
Seleccione Nuevo -> Carpeta.
Haga clic en el botón "Avanzado >>>".
Seleccione el botón de opción "Enlace a la ubicación alternativa (carpeta enlazada)".
En el cuadro de texto justo debajo de esto, haga clic en Examinar.
En su árbol de fuentes, navegue a SharedContent/WebContent/shareRoot. A continuación, haga clic en Aceptar/Abrir/Finalizar botones hasta que todos los cuadros de diálogo se vayan.
El contenido compartido está ahora asignado a su proyecto. Curiosamente, debe incluir "shareRoot /" en la URL al hacer referencia a estos archivos, pero puede solucionarlo utilizando su filtro de reescritura de URL favorito.
Puede utilizar un truco similar en el árbol fuente de Java para mapear archivos Java en múltiples proyectos. Empecé a hacer eso, en lugar de crear el código compartido en un archivo .jar, porque evita la necesidad de reconstruir el .jar cada vez que desea probar un cambio en su servidor Tomcat local.
Yo también, pero no es cómodo en absoluto. –