2010-07-29 17 views
13

Soy bastante nuevo en Tomcat. Me las arreglé para construir un proyecto y exportarlo como un archivo WAR. Intenté copiar manualmente un archivo WAR en la carpeta Tomcat y luego reiniciar. Creó la estructura de la carpeta y todo, pero obtengo un código de estado 404 cuando trato de llegar a la aplicación. Intenté implementarlo a través del panel de administración de Tomcat, pero veo el mismo comportamiento. ¿Estoy haciendo algo fundamentalmente malo?La implementación de un archivo WAR me da un código de estado 404 en Tomcat?

+0

¿Qué le ofrece su 'request.getContextPath()'? ¿Estás haciendo esto 'http: // localhost: 8080/ContextPath /' (donde contextPath es 'request.getContextPath()'. Si lo estás, entonces comprueba tu web.xml para tu configuración. –

+0

Disculpa si esto es una tontería Pregunta: Si no puedo implementar la aplicación, ¿cómo puedo ejecutarla en este momento? – Legend

+1

Mire en el archivo de registro. Quizás exista una excepción cuando se implementa la aplicación. – ifischer

Respuesta

0

¿Usted intentó

localhost:8080/app 

suponiendo que el archivo de la guerra es app.war?

edit para comentarios - entonces su web.xml está estropeado.

+1

Yeap ... Eso me está dando el código 404. Si trato solo' localhost: 8080' me da la página de introducción ... – Legend

3

Mi mejor versión es que no ha configurado los archivos de bienvenida en su web.xml. Si va a/app/necesita tener algún archivo predeterminado disponible. Normalmente, las personas crean un index.html o tienen una configuración de archivo de bienvenida para indicarle al usuario el jsp correcto.

8

Asumiendo que usted tiene privilegios completos con la instalación de Tomcat, trate de ir a http://localhost:8080/manager/html/, si no conoce la contraseña para entrar en esa zona, buscar el archivo en el directorio de tomcat-users.xml${tomcat-installation}/conf, y que debería tenerlo. Si no tiene entradas en él, entonces tendrá que añadir una entrada como la siguiente a la misma:

<user username="username" password="password" roles="admin,manager" /> 

ver si su aplicación aparece en esa pantalla, y si lo hace, haga clic en el enlace y ver si eso te lleva a cualquier parte Si no es así, sugiero seguir los consejos de ifishers y mirar los archivos de registro para ver si enumera algún error.

Pero el cuento largo, más probable es que algo está atornillado con su proyecto de web.xml

+0

También estoy enfrentando el mismo problema, pero solo durante la implementación de la aplicación para el La primera vez como aplicación raíz. Si reinicio el servidor, entonces soy ab para acceder a la página de inicio de la aplicación. Intenté su enfoque y me redirigen a la página de inicio de la aplicación al hacer clic en el enlace en la URL "http: // localhost: 8080/manager/html /" ..... ¿Alguna idea de lo que estoy haciendo mal? – Lucy

1

tengo el mismo problema. Mi problema es que el nombre de mi aplicación y el nombre del archivo war son diferentes. Tengo el nombre de archivo de war war en mi nombre de aplicación.

Aquí, cuando se implementa su aplicación, tomcat extrae automáticamente su archivo war con el mismo nombre. En mi caso, mi nombre de servicio es my-web-service (es decir, https://localhost:8080/my-web-service/) y mi nombre de archivo war es MY-java-connector-0.0.1-SNAPSHOT.war (este es el nombre de mi carpeta de proyecto). Ahora tomcat está buscando la carpeta my-web = service y encuentra la carpeta epicor-java-connector-0.0.1-SNAPSHOT. así que cambie el nombre de la carpeta a my-web = service.war y está funcionando.

2

Tuve el mismo problema, mi problema era que estaba copiando el archivo a través de sftp directamente en el directorio webapps de tomcat, lo que puede haber causado un problema de sondeo que hacía que no se implementara correctamente. Tomcat monitorea el directorio de webapps y cuando ve el archivo .xml se agrieta y hace lo suyo, el problema es que tal vez no se haya copiado todo aún. :(

Lo mejor es crear una carpeta de etapas, mover o copiar la guerra a esa carpeta y luego usar el comando linux mv para moverla a las aplicaciones web - mv es atómico, por lo que tomcat no hará nada hasta que la operación se complete.

Magia.

crédito va a un post muy muy aleatorio que he encontrado en javarance que a su vez puede conducir a: http://pub.admc.com/howtos/tomcat/ch02.html#stagedir-section

Esperamos que esto ayude a alguien más :)

0

tuve el mismo problema con Tomcat y solo se fija forzando a mi IDE a crear un archivo web.xml. El mío estaba perdido. Desplegaría el proyecto pero aún obtendría el error 404. Leí varios de estos tutoriales pero fue en vano. Leí en alguna parte que el archivo web.xml debía configurarse correctamente. Fuimos a buscar el web.xml en la carpeta WEB-INF, y no había ninguna carpeta ni ningún archivo web.xml. Hice un rápido google sobre cómo crear sobre el uso de mi IDE y luego compilé mi programa con el resultado web.xml, y me solucionó el problema. Espero que ayude. ¡Aclamaciones!

1

Me encontré con este problema, también.

Mi solución de rotonda simple es cambiar la ruta docBase.

problema se produce cuando

docBase=".../tomcat/webapps/app_name.war"; 

problema resuelto con

docBase=".../tomcat/webapps/app_foldername/web" 
0

Fwiw he tenido este problema y lo arreglaron al descubrir que estaba con el acceso a host incorrecto, como "http://wronghost:8080/why_is_this_war_not_there" por lo que si dice " XX.war implementó correctamente "en catalina.out/localhost. * Out que puede ser una pista para los seguidores.

Cuestiones relacionadas