我正在为我的网站使用 GAE(Java 版本),并且我正在使用 Google 插件在 Eclipse 中进行开发。这一切都完美无缺,实际上该站点已成功部署在 AppEngine 上。当我将插件和 SDK 更新到从 1.5.5 到 1.6.1 的新版本时,问题就开始了,特别是使用 blobstoreservice。
我无法从请求中获取 BlobKey。
部署的版本使用
blobstoreservice.getUpladedBlobs(HttpServletRequest)
但自从更新到 1.6.1 后它抛出
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String
虽然它编译没有问题,只是一个“弃用”警告。
鉴于我收到“已弃用”警告,我尝试使用新的推荐方法
blobstoreservice.getUploads(HttpServletRequest)
但是这个抛出 java.lang.NoSuchMethodError
并且编译时没有警告。
对正在发生的事情有什么想法吗?
谢谢
最佳答案
好的,我没花多少时间就解决了。
显然,问题在于 Eclipse 的 Google 插件没有从 WAR/WEB-INF/lib 目录中删除旧的 AppEngine SDK jar。只需删除对应于 1.5.5 SDK 的 jar(保留对应于 1.6.1 的 jar)并完成!!!
最奇怪的是,在我的其他应用程序引擎项目中,旧 jar 会自动删除。这只是我永远无法理解的那些奇怪的软件故障之一。
关于java - AppEngine BlobStore 无法上传 blob,因为从 1.5.5 更新到 1.6.1 | getUploads(req) 和 getUploadedBlobs(req) 都失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079431/