添加Joda时间

时间:2013-03-28 05:57:22

标签: java android jodatime noclassdeffounderror libs

我正在构建一个使用时间的应用。我决定使用Joda时间。我正在尝试将joda时间添加到我的应用程序中。我没有将.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
  6. 现在您可以使用以下代码进行测试:

    DateTime test = new DateTime();
    

    导入后:

    import org.joda.time.DateTime;
    

1 个答案:

答案 0 :(得分:19)

由于它是一个Android项目,因此只需引用Joda jar文件就行了。您需要将该jar文件与apk一起捆绑,这可以这样做: -

  1. 属性 - > Java构建路径 - >订单&导出

  2. 选中joda-time-*-*.jar,然后点击确定。你已经完成了。


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

    但是当你在 Order&中检查joda-time jar时导出,它会确保jar在创建时也与你的“apk”捆绑在一起。