2

当我尝试在运行时使用该库时出现以下错误: java.lang.NoClassDefFoundError: com.google.api.client.extensions.android2.AndroidHttp 我已将此库添加到我的项目中,它是第一个 jar Maven 依赖项(虽然我不是 100% 习惯于 Maven)。

另外,我的理解是 Ant 正在寻找 libs 文件夹中的 jars,但是 Maven 使用它自己的文件夹,这对于其他项目来说很好用。所以我迷路了..任何关于我应该如何解决这个问题的线索/帮助将不胜感激!

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

4 回答 4

3

似乎您没有正确添加罐子。也似乎你错过了第 6 步。

如果您想将此 jar 包含到您的 Android 项目中,那么您只需在 Eclipse 环境中执行以下步骤。

  1. 在项目面板中右键单击您的项目。
  2. 选择“属性”选项。
  3. 在“属性”窗口中,单击“Java 构建路径”。
  4. 在该窗口的右侧,选择“库”选项卡。
  5. 单击“添加外部 JAR”按钮,然后将此库添加到您之前保存的位置。
  6. 现在点击“Order and Export”选项卡并检查“JarName.jar”</li>
  7. 点击“确定”。
于 2012-05-19T16:42:42.790 回答
2

作为快速修复,通过Maven DependenciesJava Build Path - Order and Export窗口中打勾应该可以解决 NoClassDefFoundError。

根据您附加的屏幕截图,您似乎按照谷歌在开发指南中建议的标准方式在 Eclipse 中设置(或导入)您的 Android 项目,但也以某种方式使用 Maven 管理一些 jar 依赖项。不建议这样做,您应该使用纯 google 标准方式(自 r17 以来的 libs/ 文件夹)或完全 mavenize 您的 android 项目以进行依赖管理。

于 2012-05-19T23:00:00.780 回答
0

似乎该库未导出。

在您的项目文件夹下,打开.classpath文件,仔细检查这一行:

<classpathentry exported="true" kind="lib" path="google-http-client-android2-1.8.3-beta.jar"/>

如果exported="false",则将其更改为exported="true"

于 2012-05-19T16:46:40.327 回答
0

在您的项目文件夹下创建一个名为的新文件libs夹,并将此库添加到该文件夹​​。

我在使用 kSOAP 库时遇到了同样的问题,这解决了我的问题......

编辑

我刚刚看到你已经有了那个文件夹。添加库...

于 2012-05-19T16:52:29.330 回答