2013-07-05 6 views
1

У меня довольно интересная проблема. Я запускаю maven для компиляции моего сайта Servlet в один файл WAR. Это отлично работает на моей локальной машине; и даже когда я меняю настройки развертывания на использование только военного файла, он отлично работает. Однако, когда я развертываю WAR-файл на сервер, я получаю 404 ошибки. Я не эксперт с файлами WAR, так есть ли какой-то внутренний файл, определяющий расположение ресурсов, которые мне нужно посмотреть?Отсутствует файл при компиляции в WAR

+0

Поскольку WAR является архивом, может потребоваться доступ к ресурсу a [tag: embedded-resource]. –

+0

Можете ли вы уточнить ошибки 404? каковы исключения, вызывающие их? – benjiman

+0

@benjiman Это в Chrome, поэтому все, что я вижу, это то, что файл не может быть найден, когда я разворачиваю WAR-файл на внешний сервер. Я только что сделал cd'd через WAR-файл, и я вижу файлы, которые там есть. Файлы, которые мне не хватает, - это два файла javascript, что очень странно, потому что есть другие файлы javascript, и они загружаются нормально? – christopher

ответ

0

Первая попытка распаковать войны (войны, банки, уши файлы почтового индекса) и посмотреть, если ваши файлы на самом деле есть, проверьте, если ваша распакованные война содержит:

  • реж WEB-INF
  • файл WEB-INF/web.xml
  • dir WEB-INF/lib с банками ваше приложение зависит от
  • dir WEB-INF/классы с * .class файлами, в которых должны быть ваши сервлеты и связанные классы (если вы решили их там, а не в банке в WEB-INF/lib)
  • статические ресурсы в корневом каталоге

Вы можете сделать свои выводы из того, чего не хватает в вашей войне.

Вы также можете попытаться построить свою собственную войну вручную (создание архива со структурой я уже упоминал выше, и переименовать его в * .war), если у вас есть проблемы с выполнением его опциями среды IDE

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