更新
根据我得到的建议,我决定部署一个较小的项目,其中只有一个调用此行的类:
_cache = MemcacheServiceFactory.getMemcacheService();
现在我收到此错误:
java.lang.NoClassDefFoundError: com/google/appengine/api/memcache/MemcacheServiceFactory
我读到here这是因为我缺少 appengine-api-1.0-sdk.jar
但 here它说没有必要包含它。
我现在的问题是,如果我尝试将它添加到部署中,通过将其添加到 WEB-INF\lib 目录,它会被忽略。如果我尝试使用不同的 jar(非与 GAE 相关)它部署得很好。
例如,这两个版本在\lib 中都有 appengine-api-1.0-sdk.jar
,但版本 5 也有一个不同的 jar (bcprov-jdk15on-147.jar)。 jar
)。这就是两者之间尺寸差异的原因。
总而言之,我的问题是,我应该部署 appengine-api-1.0-sdk.jar
吗?
如果是这样,那么我怎样才能避免它被忽略呢?
项目依赖项,它们是将从 NetBeans 部署到 GAE 的 Web 应用程序的默认依赖项
<小时/>我正在尝试实现 Memcache,以便在部署应用程序时可以使用 GAE 提供的 Memcache。
部署后,当我尝试运行它时,我收到一个 IllegalStateException
:
java.lang.IllegalStateException: Committed
这发生在这一行:
private MemcacheService _cache=MemcacheServiceFactory.getMemcacheService();
我可以做什么来解决这个问题?
最佳答案
堆栈跟踪表明您在提交 HTTP 响应之后尝试在 HTTP 响应上写入或设置某些内容。与您使用Memcache无关。
关于java - 在 GAE 中部署时包含 appengine-api-1.0-sdk.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39455248/