2015-07-16 5 views
1

У меня есть два идентичных файла WAR: один упакован без Maven и один упакован с использованием Maven. Когда я пытаюсь развернуть WAR с помощью Maven, используя Tomcat, я получаю сообщение об ошибке HTTP 404 (запрошенный ресурс недоступен) Исходная WAR (упакованная без использования Maven) работает плавно. Я уверен, что WAR, упакованный с использованием Maven, имеет все требуемые файлы, поскольку он точно такой же, как и исходный пакет. Любая идея о том, как решить эту проблему?Развертывание WAR-пакета TOMCAT

+3

Сравните содержимое обоих файлов, чтобы узнать, отсутствует ли что-то. – Kayaman

+1

Независимо от того, насколько вы уверены: если вы бежите, а другой нет, то они не совпадают. Файлы WAR - это zip-файлы. Вы можете просто разархивировать их и сравнить контент. –

+0

сделать контрольную сумму/хэш (md5 или что-то еще) обоих файлов войны и сравнить их. проверьте web.xml в обоих файлах войны (под web-inf). Хороший инструмент для использования контрольной суммы http://code.kliu.org/hashcheck/ – MrSimpleMind

ответ

0

В таких сценариях я доверяю только инструментам, которые визуализируют, действительно ли комплекты идентичны или нет. Я покажу вам несколько инструментов ниже (инструменты MS Windows).

Контрольная сумма инструмент:

Инструмент очень быстро дать мне контрольную сумму всего пучка. И я могу сравнить это с другим файлом.

Diff инструмент:

Если контрольная сумма не совпадает вы должны увидеть разницу в пучках. В этом случае я бы использовал некоторый инструмент diff, например kDiff.

Файл web.xml - descirptor развертывание

Некоторые файлы очень важны, и вы должны будете проверить, во-первых, как дескриптор развертывания web.xml в папку WEB-INF. Проверьте его содержимое, параметры безопасности, настройки ваших сервлетов и т. Д. «Запись» на ваш веб-сервис.

Распакуйте и проверьте папки/файлы

Вы знаете, что ваша война файл является нормальным «молния» расслоение. Просто разархивируйте его и проверьте содержимое. Вы можете развернуть его на своем tomcat как разворачиваемую войну (т. Е. Вся папка, имя папки будет вашим контекстным корнем).

Проверьте журналы Tomcat

Проверьте выход при развертывании и доступ к веб-решения. Посмотрите tomcat logging level и увеличьте уровень и посмотрите свои журналы.

0

Как называется военный файл? Если они отличаются, tomcat развертывает их на другом пути контекста.

Maven, как правило, ставит версию в конце, например:

myproject.war будет развернут на локальный хост: 8080/MyProject

в то время как MyProject-1.0.0.war whould быть развернут на локальный хост: 8080 /myproject-1.0.0/ (Не уверен, что он обрабатывает точки)

Вы можете попробовать переименовать военные файлы на один и тот же путь или ROOT.война за "/"

Вы проверили журнал catalina.out?

Смежные вопросы