Назад | Перейти на главную страницу

War, развернутая в Tomcat, не отображается по URL-адресу, вместо этого получает 404

У меня есть веб-приложение, которое Tomcat утверждает, что оно развернуто, но когда я перехожу к его URL-адресу, я получаю 404.

Файл war называется sonar.war и развертывается в веб-приложениях. Я вижу в журналах, что он развертывает (также по тому факту, что он воссоздает свои таблицы базы данных, если я отброшу все таблицы и перезапущу Tomcat), а с помощью JConsole я вижу, что он находится в Mbeans->Catalina->Host->Localhost->Attributes->children как веб-модуль.

Также на той же машине есть hudson.war, который отлично работает - я уверен, что подключаюсь к правильной машине, потому что могу удалить hudson.war, и Hudson исчезнет из URL-адреса.

В журналах ничего нет; Я попытался изменить уровень журнала, чтобы включить больше информации, но все равно ничего не вижу.

Есть идеи / предложения? Я с радостью прикреплю отладчик к экземпляру Tomcat, если необходимо, чтобы попытаться выяснить, что происходит, но я не уверен, что такое точка входа, поэтому указатели на то, где я мог бы захотеть установить точку останова, также будут оценен.

Я использую Tomcat 6, и перед Tomcat ничего нет (например, Apache).

Теперь, когда давление снизилось, я смог провести небольшое расследование. Следующие файлы отсутствовали в папке CATALINA_HOME / conf:

  • web.xml
  • context.xml

Я предполагаю, что конфигурация Sonar означала, что Tomcat не справился с отсутствием этих файлов, в то время как Хадсон включил эту информацию в другое место.

Установите сервер с приложением-менеджером и разверните там войну. Менеджер покажет вам, по какому URL-адресу он развертывает. Вы можете попробовать этот путь на своем реальном сервере Tomcat.

Для тестовых развертываний я оставляю приложение-менеджер установленным, чтобы облегчить решение подобных проблем. Приложение также может быть развернуто, но у него есть другие проблемы, вызывающие проблемы с привязкой к его контексту.