Я создаю 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)