Problema con Tomcat 6.0 + Struts2

M
27 de Julio del 2010
Estoy empezando a desarrollar aplicaciones con Struts2.
Hice un primer proyecto y todo fue bien.
El problema ha surgido al realizar el segundo que no consigo subir ambas aplicaciones al mismo servidor. ¿A qué puede ser debido? Muchas gracias por adelantado, me urge la respuesta.

Ivan
12 de Agosto del 2026

Hola,

Sin ver el error exacto es difícil afinar del todo, pero «el primer proyecto funciona bien solo, el segundo no arranca al desplegar los dos juntos» es la firma clásica de una colisión de contexto o de recursos compartidos entre ambas aplicaciones en el mismo Tomcat. Las causas más habituales, de más a menos probable:

1. Mismo context path. Si ambos WARs se llaman igual (o has forzado el mismo <Context path="/app"> en server.xml/context.xml para los dos), el segundo simplemente no puede desplegarse en la misma ruta que el primero. Comprueba que cada aplicación tiene su propio nombre de WAR/contexto único.

2. Filtros de Struts2 con el mismo filter-name pensados como si fueran globales. Cada aplicación Struts2 tiene su propio web.xml con el filtro StrutsPrepareAndExecuteFilter, eso en sí no debería chocar entre dos WARs distintos (cada uno tiene su classloader e instancia de filtro aislada), así que si ves un error relacionado con Struts2 específicamente, revisa que no estés compartiendo alguna configuración a nivel de $CATALINA_HOME/lib (JARs de Struts puestos ahí en vez de dentro de cada WAR), que sí se comparte entre todas las aplicaciones del mismo Tomcat y puede generar conflictos de versiones sutiles.

3. Puerto o recurso externo compartido mal configurado (una base de datos con el mismo nombre de DataSource JNDI en ambas apps, por ejemplo), donde el segundo intenta registrar un recurso con un nombre que el primero ya reclamó.

Para acotarlo rápido: mira el log completo de Tomcat (catalina.out o logs/localhost.*.log) justo en el momento del despliegue del segundo WAR, la excepción concreta (normalmente algo tipo «context already registered», «bean definition duplicated», o similar) te va a decir exactamente cuál de los tres casos es el tuyo. Si nos pegas ese error concreto, te puedo dar una respuesta más precisa.

Ivan