Ошибка при развертывании проекта в Google App Engine - PullRequest
0 голосов
/ 07 сентября 2011

У меня проблема при попытке развернуть мой проект: «Найден файл JAR, слишком большой для загрузки». Проблема возникает, когда скрипт пытается загрузить appengine-api-1.0-sdk-1.5.3.jar (15,8 МБ, хотя разрешены только 10 МБ файлы). Эта проблема хорошо известна с 2009 года. Существует много билетов в системе отслеживания проблем Google, а также здесь. Есть много сообщений такого рода по всей сети. Но все они имеют в виду два решения:

1) Использование --enable_jar_splitting. Конечно, я пытался использовать это. Нет успеха:

# appengine-java-sdk-1.5.3/bin/appcfg.sh -e some_mail@gmail.com --enable_jar_splitting update    project/war
Reading application configuration data...
......
java.lang.IllegalStateException: Found a jar file too large to upload:     "/tmp/appcfg4869648953084473935.tmp/WEB-INF/classes/war/WEB-INF/lib/appengine-api-1.0-sdk-    1.5.3.jar". Consider using --enable_jar_splitting.
Unable to update app: Found a jar file too large to upload:     "/tmp/appcfg4869648953084473935.tmp/WEB-INF/classes/war/WEB-INF/lib/appengine-api-1.0-sdk- 1.5.3.jar". Consider using --enable_jar_splitting.
Please see the logs [/tmp/appcfg5857347513630341491.log] for further information.

Я пытался использовать разные версии SDK (1.4.3, 1.5.2 и последние 1.5.3). Но скрипт игнорирует параметр --enable_jar_splitting.

2) Распакуйте appengine-api-1.0-sdk-1.5.3.jar в WEB-INF / lib. В этом случае возникает другая ошибка. Проекты ограничены 3000 файлами. Есть 3500 файлов ок. в архиве appengine-api-1.0-sdk-1.5.3.jar и 100 файлов в моем проекте. Таким образом, это решение не работает так же хорошо.

3) Я сам нашел 3d решение. Вы можете удалить appengine-api-1.0-sdk-1.5.3.jar из каталога WEB-INF / lib. Это работает, но только в тех случаях, когда у вас есть простые проекты. Но это не работает в случае проектов, использующих всю мощь Google Appengine. Мне нужно использовать хранилище данных и некоторые другие функции. Без appengine-api-1.0-sdk-1.5.3.jar проект может быть развернут, но он не работает и выдает ошибки в консоли ошибок Google (отсутствуют классы).

Я отправил сообщение в Google. К сожалению, они молчат.

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

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

Вам не нужно загружать jar API - это часть платформы App Engine.Какую бы конфигурацию вы ни изменили и которая заставляет SDK попытаться загрузить ее, вам следует вернуться обратно.

1 голос
/ 07 сентября 2011

Вы можете попробовать разделить appengine-api-1.0-sdk-1.5.3.jar вручную.

  1. Разархивировать файл jar.
  2. Упакуйте половину файлов в один файл jar
  3. Прикрепите другую половину к одному файлу jar.
  4. Обновите путь к классам и инструменты сборки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...