2010-06-10 1 views
13

Ho distribuito un file WAR in $ TOMCAT_HOME/webapps copiando il file nella directory, proprio come ho fatto mille volte prima. Tomcat rileva la GUERRA e la gonfia. Posso attraversare l'albero delle directory sul mio server alla riga di comando (è Fedora).Tomcat che segnala errore 404 su tutti i nuovi file WAR distribuiti?

Ma quando indirizzo la webapp nel browser della mia macchina client, non ottengo altro che 404 errori. Questo è successo alle ultime due distribuzioni di WAR completamente separate.

Il primo era una sostituzione di una GUERRA esistente. Prima ho cancellato la WAR e la sua directory gonfiata, e poi ho copiato nella WAR che ha gonfiato ... 404. Ho cancellato di nuovo tutto, rimesso indietro la WAR in uso in precedenza. Si è gonfiato e ha funzionato.

Il secondo era un modo completamente nuovo, la guerra non mai schierato ... altro che 404.

altre guerre stanno lavorando, ma ora ho paura di cambiare nulla finché non so cosa sta succedendo. Qualche indizio?


Edit: Dal mio commento si può vedere che i registri inclusi "SEVERE: listenerStart errore" dopo la guerra è stato distribuito da Tomcat. Non sono state rilevate tracce di stack o altri errori.


Edit2: Si scopre che la seconda guerra stava cercando l'ELResolver e non poteva trovarlo. Questo è stato sepolto nel file di log localhost.

+0

Qualcosa nei log di avvio/errore? – BalusC

+0

INFO: distribuzione dell'archivio applicazioni Web shindig.war 10-giu-2010 9:29:41 AM org.apache.catalina.core.Standard Inizio di CSonte SEVERE: Errore listenerStart 10-giu-2010 9:29:41 AM org.apache .catalina.core.StandardContext start SEVERE: avvio Context [/ shindig] non riuscito a causa di errori precedenti Ma non ci sono "errori precedenti". – dacracot

+0

Ci devono essere errori precedenti. –

risposta

0

Se un'applicazione Web non viene distribuita correttamente, verranno visualizzati 404.

Dovresti semplicemente rimuovere il file WAR e lasciare che Tomcat cancelli la stessa cartella di guerra gonfiata.

L'errore ListenerError potrebbe essere che il web.xml si riferisce ancora a un listener, che non è nel nuovo codice che si desidera mettere in guerra.

+0

O il listener potrebbe essere ok, ma alcune altre librerie dipende da manca/ha una versione diversa o così. Questo è abbastanza se fare il debug. – Pavel

+0

se non c'è index.html ottengo sempre un 404 – jgr208

0

Rimuovere il file di guerra, pulire tomcat, avviare, giù, e quindi mettere di nuovo la guerra.

ONTO: assicurarsi che la guerra sia stata generata correttamente.

0

Si dovrebbe andare alla scheda "Server" e fare clic-destro sulle "proprietà" e premere il pulsante "Cambia posizione". Dopo di che fai nuovamente il test. Fammi sapere se funziona. (Riferimento: 404 with tomcat/eclipse deployed webapp).