Проблема развертывания войны на пристани 6 - PullRequest
1 голос
/ 22 августа 2011

Jetty не может разархивировать мою войну приложений Wicket и распаковать ее во временный каталог. Это может разархивировать пример войны без проблем. У меня есть две идентичные установки на 64-битной Linux (Centos) с использованием Jetty 6.1.16 и 64-битной Java 1.6. Один работает, а другой не может разархивировать / застегнуть войну и развернуть ее. Я компилирую с использованием 1.5 совместимости. Я использую Maven для создания файла войны. Если я разверну .war, я получу общую ошибку - не могу разархивировать. Если я разархивирую веб-приложение в файловой системе и разверну его на Jetty, оно будет работать нормально.

Чтобы убедиться, что это не проблема с разрешениями, я запустил его как root, но не увидел никакой разницы.

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

Я могу попросить Пристани не извлекать войну, но когда я получаю, я получаю еще одну ошибку ...

org.apache.wicket.WicketRuntimeException: невозможно загрузить файл инициализаторов

Причина: java.util.zip.ZipException: ошибка при открытии zip-файла

Каталог развертывания указан в выводе, но когда я смотрю в нем, он пуст. Странно, что пример войны, который идет с выдержками Jetty и работает нормально, без ошибок, так что, похоже, что-то похоже на то, как создается файл war на моем конце (война, созданная с помощью eclipse / maven в 32-битной Vista). Но опять же, он отлично работает на другом практически идентичном сервере, что делает это маловероятным.

Надеялся, что у кого-то есть готовый ответ, прежде чем я все разорву и переустановлю все: -).

1 Ответ

0 голосов
/ 22 августа 2011

Похоже, проблема с разрешениями файловой системы.Вы удостоверились, что у пользователя, под которым вы запускаете Jetty, есть права на запись в каталог, куда якобы должен быть извлечен war?

Алгоритм, с помощью которого Jetty определяет, куда разархивировать веб-приложение, потенциально можетвыберите кучу каталогов .Вам, вероятно, следует также проверить правильность переменных, которые играют роль в этом алгоритме, и убедиться, что у пользователя, выполняющего Jetty, есть достаточные разрешения на чтение / запись для этих каталогов.

...