Pode ser uma série de coisas. Alguns problemas específicos que eu atingi:
(1) Permissões de arquivo. Certifique-se de que o diretório webapps, seu diretório de trabalho, a guerra em si e quaisquer arquivos especiais acessados por ele sejam todos legíveis / graváveis pelo usuário que está executando o Tomcat (idealmente, eles devem pertencer a esse usuário).
(2) A versão anterior não foi totalmente removida. Tente parar o Tomcat, excluindo a pasta war and matching, copiando a nova guerra e iniciando o Tomcat. Se funcionar, o problema pode ser deixado por arquivos. (Eu tenho um aplicativo, por exemplo, que não se limpa completamente).
(3) O aplicativo pode não estar sendo inicializado corretamente devido a problemas com o aplicativo. Se a guerra implantar automaticamente em uma pasta, o autodeploy está funcionando, mas o aplicativo não foi totalmente inicializado. Procure por mensagens de log. Dependendo do seu aplicativo, isso pode estar no tomcat / logs, no diretório atual ou no padrão. Se puder, altere as propriedades do log (por exemplo, arquivo log4j.properties) para mostrar mensagens no nível de depuração.
(4) problemas de memoria do Permgen. Quando você recarrega um aplicativo no Tomcat, ele usa a memória Permgen. Por definição, isso não pode ser recuperado. Recarregue demais, e o Tomcat irá travar com um erro de falta de memória (você pode ver isso nos seus logs). Configure mais permgen ou, melhor ainda, desligue / reinicie o Tomcat ao reimplementar um aplicativo.