2009-11-16 1 views
0

При развертывании моего проекта на SpringSource ого сервер, каждый раз в некоторое время JAR не удается развернуть со следующим сообщением:SpringSource ого сервера occastionally не удается распаковать действительный почтовый файл

/mnt/myproject/springsource/work/com.springsource.server.deployer/packed/my.project.0.1.10.M.jar' cannot be unpacked. 

java.util.zip.ZipException: error in opening zip file 

Есть 5 .war файлов в проекте. Если один из них терпит неудачу, он всегда один и тот же (который также является последним, который будет скопирован в каталог пикапа). Однако, как правило, все 5 будут развернуты без проблем. Это то же самое множество файлов во всех экземплярах, взятых из репозитория maven, только что развернутых на новые экземпляры сервера.

Файл, который не удается открыть, может быть отлично открыт 7-Zip. Если я остановлю весну, очистите каталог пикапа, запустите Spring и скопируйте файлы .war для повторной загрузки, это обычно будет работать.

Обычный процесс развертывания:

  • Start Spring
  • Подождите, пока он не сообщает Открыть для бизнеса с профилем «Сети»
  • Копировать все 5 проектов с 2-секундной задержкой между каждой копии (скриптовые).

Аналогичные проблемы java-util-zip-zipexception-error-in-opening-zip-file и jboss5-cannot-deploy-due-to-java-util-zip-zipexception-error-in-opening-zip-fil не подходят.

ответ

1

Вы не сообщите, какую версию dm-сервера вы используете, поэтому я бы рекомендовал обновить до 2.0.x, чтобы получить исправления, если вы еще этого не сделали. Вы также можете перейти на Eclipse Virgo, который является продолжением проекта dm Server.

Я полагаю, что эвристика на сервере dm для определения того, когда копия файла в пикап завершена, может быть проиграна, возможно, из-за медленной или небрежной операции копирования. Есть ли что-то необычное в вашем диске, такое как шифрование или удаленное монтирование, что может помешать операции копирования?

Один из способов исключить эвристику - поместить файлы в каталог пикапа, когда сервер dm не запущен, а затем запустите сервер dm, когда операция копирования определенно завершена. Если проблема воспроизводится, может возникнуть проблема в JRE, которую вы используете.

+0

Это довольно старый вопрос, и мы впоследствии отошли от SpringServer, но ваш ответ кажется задумчивым и полезным, поэтому я его приму. –