GAE:java.lang.NoSuchMethodError:com.google.api.client.json.GenericJson.set

时间:2013-06-14 05:42:03

标签: google-app-engine google-drive-api google-api-java-client

从6月12日开始,我使用DriveAPI的应用程序面临以下错误(它显示在GAE服务器日志中):

java.lang.NoSuchMethodError:com.google.api.client.json.GenericJson.set (Ljava / lang / String; Ljava / lang / Object;)Lcom / google / api / client / JSON / GenericJson;     在com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets $ Details.set(GoogleClientSecrets.java:166)     在com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets $ Details.set(GoogleClientSecrets.java:87)     在com.google.api.client.json.JsonParser.parse(JsonParser.java:357)     在com.google.api.client.json.JsonParser.parseValue(JsonParser.java:586)     在com.google.api.client.json.JsonParser.parse(JsonParser.java:350)     在com.google.api.client.json.JsonParser.parseValue(JsonParser.java:586)     在com.google.api.client.json.JsonParser.parse(JsonParser.java:289)     在com.google.api.client.json.JsonParser.parse(JsonParser.java:266)     在com.google.api.client.json.JsonParser.parseAndClose(JsonParser.java:141)     在com.google.api.client.json.JsonFactory.fromInputStream(JsonFactory.java:223)     在com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets.load(GoogleClientSecrets.java:195)     在finbudget.server.handlers.lists.cronimport.AutoImportBackend.doImport(AutoImportBackend.java:112)     在finbudget.server.handlers.lists.cronimport.AutoImportBackend.doPost(AutoImportBackend.java:76) ......

似乎这个问题伴随着1.8.1版本的AppEngine版本。在它运作良好之前......有人有同样的问题吗?什么可以解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

这是一个类路径冲突。

如果war/WEB-INF/lib包含多个版本的DriveAPI jar,则运行时期间加载的版本错误可能会导致奇怪的问题。删除过时的罐子解决了这个问题。

(注意:我复制并格式化了原始提问者通过编辑添加到问题中的答案。我这样做是为了清理任务。)