Задать вопрос
@sonriente

Ошибка при разворачивании проекта в google appengine

Здравствуйте.

При попытке развернуть проект в google appengine возникает ошибка «Found a jar file too large to upload» при попытке залить appengine-api-1.0-sdk-1.5.3.jar (15.8 мб при ограничении в 10 мб. на файл)
Проблема известная аж с 2009года, куча тикетов в google issue tracker, но в интернетах есть только два предложения, как это пофиксить:

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) — no success.

2) Распаковать appengine-api-1.0-sdk-1.5.3.jar в WEB-INF/lib. Тут возникает другая проблема: ограничение гугла — 3000 файлов на проект. В appengine-api-1.0-sdk-1.5.3.jar порядка 3500 файлов + около 50 моих.

3) До 3го метода додумался сам — можно удалить архив из WEB-INF/lib. Работает в случае с простыми проектами. В случае с проектами, использующими всю мощь app engine хинт не прокатит (т.е. мне необходимо использовать datastore. Без appengine-api-1.0-sdk-1.5.3.jar проект deploy-ится, но не работает. В консоли гугла, естесственно, ошибки)

Писал в гугль. Ни ответа, ни привета.
Подскажите, пожалуйста, как решить данную проблему. Наверняка я где-то что-то упустил.
  • Вопрос задан
  • 2595 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@sonriente Автор вопроса
Все гениальное — просто. Нашел workaround сам. Надеюсь, кому-нибудь поможет. Хотя было бы клевей, если бы гугль сам наконец почесался и зафиксил проблему.

#du -sh appengine-api-1.0-sdk-1.5.3.jar
18M appengine-api-1.0-sdk-1.5.3.jar
#jar -xf appengine-api-1.0-sdk-1.5.3.jar
#jar -cf appengine-api-1.0-sdk-1.5.3-repacked.jar com/ javax/ META-INF/ org/
#du -sh appengine-api-1.0-sdk-1.5.3-repacked.jar
6.1M appengine-api-1.0-sdk-1.5.3-repacked.jar
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы