OrmliteSqliteOpenHelper出现NoClassDefFound错误

时间:2010-11-27 05:04:19

标签: java android eclipse sqlite ormlite

我有一个扩展OrmliteSqliteOpenHelper的类,以便为Android应用程序提供持久性模块。问题是,每当我从Eclipse中的测试项目访问此类时,它都会抛出NoClassDefFound异常。源代码似乎很好,因为导入包并且Eclipse没有突出显示任何错误,但确实会出错。

这是踢球者:从测试项目中访问时,项目中的其他所有内容都可以正常运行,但是当我将此文件移动到测试项目中时,它可以完美运行!问题是它需要在实际项目中,以便其他组件调用它。有没有人遇到这个错误或有任何想法我可能会出错?

正确设置类路径,因为所有其他类都工作,并且测试项目始终将主项目添加到其类路径中。我还尝试将OrmliteSqliteOpenHelper对象移动到内部类:这允许外部类可见并触摸但是一旦它尝试实例化内部类,就会发生同样的错误。此外,如果我将此文件复制到同一个包中的两个项目中,则只要主项目中的某些内容尝试访问此类,就会发生错误,指出“预验证类中的类ref已解析为意外实现”。显然,在两个项目之间编译/处理类的方式有所不同。

我很难过:/非常感谢你的帮助!

2 个答案:

答案 0 :(得分:0)

好朋友,我似乎已经针对这个问题共同破解了一个解决方案: 我将整个'src'文件夹从主项目链接到测试项目的文件夹。现在,当它搜索我的文件所在的特定包时,它首先在自己的源树中找到该文件。万岁!

为什么这样做?我没有任何线索,也许有人可以启发我们这个事实 它有用吗?现在......

答案 1 :(得分:0)

我有解决问题的方法:

  • 从测试项目的Build Path中删除OrmLite。
  • 从主项目中导出它们。