【问题标题】:Adding Joda Time添加乔达时间
【发布时间】:2013-03-18 11:56:30
【问题描述】:

我正在构建一个使用时间的应用程序。我决定使用 Joda 时间。我正在尝试将 joda time 添加到我的应用程序中。我没有将.jar 文件添加到库的经验。我关注了these steps(见底部),或者我是这么认为的。我的项目没有显示任何错误,但是当我运行一个简单的测试时:DateTime test = new DateTime(); 我强制关闭并出现以下错误:

 Could not find class 'org.joda.time.DateTime', referenced from method xxxx
 java.lang.NoClassDefFoundError: org.joda.time.DateTime    

这些是我遵循的步骤:

  1. 在 Eclipse 中创建您的 android 项目。
  2. 下载Joda Time
  3. 在 Eclipse 中,在包资源管理器中查找您的项目并右键单击它,然后将其命名为 New -> Folder -> libs注意:我没有这样做,因为我已经有一个名为 libs 的文件夹
  4. 复制(或)将joda-time-2.1.jar 拖放到新创建的libs 文件夹中。
  5. 再次右键单击您的项目(在包资源管理器中)然后Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar

现在您可以使用此代码进行测试:

DateTime test = new DateTime();

导入后:

import org.joda.time.DateTime;

【问题讨论】:

  • 清理项目并构建。
  • 你可以开始使用 jodatime,在你的类文件的开头添加相关的导入语句(或者只是输入 DateTime 例如,然后 CTRL+SPACE 和 eclipse 应该为你添加导入)跨度>
  • 对。它已正确导入。

标签: java android jodatime noclassdeffounderror libs


【解决方案1】:

由于它是一个 Android 项目,仅引用 Joda jar 文件是行不通的。您需要将该 jar 文件与您的 apk 捆绑在一起,可以这样完成:-

  1. 属性 -> Java 构建路径 -> 排序和导出

  2. 检查joda-time-*-*.jar 并单击确定。大功告成。


说明:单独引用 jar 只会解决 Eclipse(或任何其他 IDE)中的编译问题,但是当创建 apk 时,“joda-time” jar 文件不会与您的“apk”一起导出/捆绑。这就是它抛出 NoClassDefFoundError 的原因。

但是,当您在 Order & Export 中检查 joda-time jar 时,它会确保该 jar 在创建时也捆绑在您的“apk”内部/一起。 p>

【讨论】:

  • 哈利路亚!!做到了!你能解释一下为什么我需要为 android 这样做吗?
猜你喜欢
  • 2019-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 2021-08-17
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多