Tomcat, WARs и несколько ОС - PullRequest
       18

Tomcat, WARs и несколько ОС

3 голосов
/ 08 февраля 2012

Я создаю WAR (TomcatHeartbeat.war) на моем компьютере с Windows и развертываю его локально в Tomcat (v7.0.19). Он развертывается и работает без ошибок.

Затем я беру ту же самую WAR и копирую («развертываю») на сервер CentOS Linux, работающий на той же версии Tomcat (но для Linux, очевидно!), И сразу получаю следующие ошибки:

2012-02-08 10:36:23,110 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO  org.apache.catalina.startup.HostConfig- Deploying web application archive TomcatHeartbeat.war
2012-02-08 10:36:23,117 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR org.apache.catalina.startup.ContextConfig- Exception fixing docBase for context [/TomcatHeartbeat]
java.util.zip.ZipException: invalid END header (bad central directory offset)
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:127)
    ...(rest of stack trace ommitted for brevity)

Я подозреваю, что это "Windows / Linux"? Чем еще можно объяснить тот факт, что WAR отлично работает на моей машине, но не на нашем сервере Linux?

Я также подозреваю, что исправление будет заключаться в том, чтобы создать и развернуть WAR прямо на том же компьютере.

Я на ходу или здесь не так? Заранее спасибо!

Редактировать :
Метод, который я использую для копирования WAR из Windows в Linux:

  • Скопируйте файл с моего локального диска в сетевой каталог, который на самом деле находится на компьютере с Linux, но у меня есть доступ к нему через Проводник Windows
  • FTP WAR с той машины Linux на сервер приложений (обе машины Linux имеют одинаковую версию CentOS)

1 Ответ

5 голосов
/ 08 февраля 2012

Вы определенно используете режим BIN для FTP? По умолчанию используется ASCII, что может привести к хаосу в .ZIP (или, конечно, .WAR) и может привести к проблемам с коррупцией. Я бы посмотрел на это в первую очередь.

Это особенно вероятно при работе с FTP из командной строки; Я считаю, что пользовательские интерфейсы, конечно же, в Windows, хорошо маскируют это.

...