在GAE中部署时包括appengine-api-1.0-sdk.jar

时间:2016-09-12 16:58:51

标签: java google-app-engine jar memcached appcfg

更新

根据我给出的建议,我决定部署一个较小的项目,只有一个类调用此行:

 _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)。这两者之间的大小差异就是因为这个原因。 enter image description here

总结一下,我的问题是,我应该部署appengine-api-1.0-sdk.jar吗?  如果是这样,那我怎么能避免它被忽略呢?

Link to .rar with project.

项目依赖项,它们是将从NetBeans部署到GAE的Web应用程序的默认属性

enter image description here

我正在尝试实现Memcache,以便在部署应用程序时可以使用GAE提供的内容。

当我尝试运行它时,我得到一个IllegalStateException

java.lang.IllegalStateException: Committed

这就发生在这一行:

private MemcacheService _cache=MemcacheServiceFactory.getMemcacheService();

我该怎么做才能解决它?

1 个答案:

答案 0 :(得分:1)

堆栈跟踪建议您在已经提交之后尝试在HTTP响应上编写内容或设置某些内容。它与你使用Memcache无关。