java - AppEngine BlobStore 无法上传 blob,因为从 1.5.5 更新到 1.6.1 | getUploads(req) 和 getUploadedBlobs(req) 都失败

标签 java google-app-engine file-upload eclipse-plugin blobstore

我正在为我的网站使用 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/

相关文章:

java - 为什么双括号初始化要求 SerialVersionUID?

java - 如何使用 channel.connect(); 对远程数据库执行 “insert into” 查询;

python - 使用 python 将订阅者添加到 mailchimp

java - 尝试从 Eclipse 运行 AppEngine Cloud SQL 应用程序时出现访问被拒绝错误

ASP.NET 网页在文件上传期间无响应

java - 如何判断 Java 应用程序是否正在 Eclipse 控制台中运行(而不是例如 xterm)?

java - 返回类型与 Object.getClass() 不兼容

python - Google Datastore 的 UTF-8 Python 问题

java - 使用 spring-mvc 上传文件(恢复)

c# - 将 MemoryStream 复制到 FileStream 并保存文件?