Включите appengine-api-1.0-sdk.jar при развертывании в GAE
ОБНОВИТЬ
Следуя совету, который я получил, я решил развернуть меньший проект с классом, вызывающим эту строку:
_cache = MemcacheServiceFactory.getMemcacheService();
Теперь я получаю эту ошибку:
java.lang.NoClassDefFoundError: com/google/appengine/api/memcache/MemcacheServiceFactory
Я прочитал здесь, что это потому, что я скучаю по appengine-api-1.0-sdk.jar
но здесь говорится, что нет необходимости включать его.
Моя проблема сейчас в том, что, если я пытаюсь включить его в развертывание, добавив его в каталог WEB-INF\lib, он игнорируется. Если я попробую с другим jar (не связанным с GAE), он будет развернут просто отлично.
Например, обе эти версии имели appengine-api-1.0-sdk.jar
в \ lib, но в версии 5 также был другой jar (bcprov-jdk15on-147.jar
). Из-за этого разница в размерах между этими двумя.
Подводя итог, мой вопрос, должен ли я развернуть appengine-api-1.0-sdk.jar
? И если так, то как я могу избежать того, чтобы это игнорировалось?
Зависимости проекта, они являются настройками по умолчанию для веб-приложения, которое будет развернуто в GAE из NetBeans
Я пытаюсь реализовать Memcache, чтобы я мог использовать тот, который предоставляется GAE при развертывании приложения.
Как только он развернут, когда я пытаюсь запустить его, я получаю IllegalStateException
:
java.lang.IllegalStateException: Committed
Это происходит в этой строке:
private MemcacheService _cache=MemcacheServiceFactory.getMemcacheService();
Что я мог сделать, чтобы это исправить?
1 ответ
Трассировка стека предполагает, что вы пытаетесь что-то записать или установить в своем HTTP-ответе после того, как вы его уже зафиксировали. Это не связано с вашим использованием Memcache.