【问题标题】:NoClassDefFoundError with Google Spreadsheets APIs on Google Application EngineGoogle 应用程序引擎上的 Google 电子表格 API 的 NoClassDefFoundError
【发布时间】:2014-06-14 09:17:07
【问题描述】:

我正在使用 Google 的 gdata-java-client 来处理 Google 电子表格。

SpreadsheetService s = new SpreadsheetService("myAppName");

这在 Eclipse 中有效。只要我在 App Engine(开发环境)上运行它,我就会得到 NoClassDefError

以下罐子在WEB-INF/lib

  • gdata-spreadsheet-meta-3.0.jar
  • gdata-spreadsheet-3.0.jar
  • jsr305.jar
  • google-collect-1.0-rc1.jar
  • gdata-client-1.0.jar

从这些 jar 中实例化其他对象,例如 SpreadsheetEntry。我为这个问题找到的解决方案都在于缺少罐子。我认为这不是问题所在,因为我可以从这些 jar 中创建其他对象。

【问题讨论】:

  • 哪个类没有找到?
  • @Andrei Volgin 我不确定。 SpreadsheetService 或其超类之一。甚至没有调用构造函数。可能是静态初始化器的问题?
  • 将错误信息复制到这里。它必须告诉您找不到哪个类。此错误表示缺少 jar - 我们只需要找出哪个 jar。
  • 这是 GoogleService 类。
  • 感谢您的帮助! java.lang.NoClassDefFoundError: com/google/gdata/client/GoogleService at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at ......作者:java.lang.ClassNotFoundException: com.google.gdata.client.GoogleService at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method)

标签: java google-app-engine google-sheets


【解决方案1】:

问题的原因是我用来管理电子表格 API 的 Google Eclipse 插件。我从here 那里得到了提示。

将以下 jar 添加到 WEB-INF/lib 并将它们添加到类路径后,它终于可以工作了。

  • gdata-core-1.0.jar
  • gdata-client-1.0.jar
  • gdata-spreadsheet-3.0.jar
  • gdata-spreadsheet-meta-3.0.jar
  • guava-11.0.2.jar
  • jsr305.jar

【讨论】:

  • 使用最新的番石榴版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 2015-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多