Развертывание WAR-пакета TOMCAT
У меня есть два идентичных файла WAR: один упакован без Maven и один упакован с использованием Maven. Когда я пытаюсь развернуть упакованную WAR Maven с помощью Tomcat, я получаю сообщение об ошибке HTTP 404 (запрашиваемый ресурс недоступен). Исходная WAR (упакована без использования Maven) работает без проблем. Я уверен, что у WAR, упакованного с помощью Maven, есть все необходимые файлы, так как он точно такой же, как и в оригинальной упаковке. Есть идеи, как решить эту проблему?
2 ответа
Как называются военные файлы? Если они различаются, tomcat развертывает их по другому контекстному пути.
Maven обычно ставит версию в конце, например:
myproject.war будет развернут на localhost:8080/myproject
в то время как myproject-1.0.0.war должен быть развернут на localhost:8080/myproject-1.0.0/ (не уверен, что он обрабатывает точки)
Вы можете попытаться переименовать файлы war по тому же пути или ROOT.war для "/"
Вы проверили журнал catalina.out?
В подобных сценариях я доверяю только инструментам, которые визуализируют, действительно ли пакеты идентичны или нет. Я покажу вам некоторые инструменты ниже (инструменты MS Windows).
Инструмент контрольной суммы:
Инструмент очень быстро даст мне контрольную сумму всего пакета. И я могу сравнить это с другим файлом.
Инструмент Diff:
Если контрольная сумма не совпадает, вы должны увидеть разницу в пакетах. В этом случае я бы использовал инструмент сравнения, например kDiff.
Web.xml - дескриптор развертывания
Некоторые файлы очень важны, и вам нужно сначала проверить, например, дескриптор развертывания web.xml в папке WEB-INF. Проверьте его содержимое, настройки безопасности, конфигурацию ваших сервлетов и т. Д. "Вход" в ваш веб-сервис.
Разархивируйте и проверьте папки / файлы
Вы знаете, что ваш военный файл - это обычный пакет "zip". Просто распакуйте его и проверьте содержимое. Вы можете развернуть на своем tomcat как разархивированную войну (то есть всю папку, имя папки будет вашим контекстным корнем).
Проверьте логи кота
Проверьте свои результаты при развертывании и доступ к веб-решению. Посмотрите уровень ведения журнала tomcat, увеличьте уровень и следите за своими журналами.