从Android项目引用到标准Java项目时的NoClassDefFoundError

时间:2013-02-19 17:35:09

标签: java android eclipse jar adt

我目前正在开发一个需要使用某些共享类的Android应用程序,这些类也在某些服务器端使用。 所以一方面我在eclipse中有这个标准的java项目,我有一些POJO,infercaes等等。另一方面,我有一个Android应用程序项目,其活动应该使用那些POJO。

我第一次尝试让android项目知道java项目只是将它添加为eclipse中build-path属性中的“必需项目”。结果导致:

java.lang.NoClassDefFoundError: my.package.Pojo

我用Google搜索并尝试了很多,但问题仍然存在:

如何正确设置所有内容,以便我的 ADT v21.1 android项目仍然可以知道我的java项目,即使在运行时也是如此?

我已尝试过的一些似乎没有改变的东西:

  • 添加“必需项目”后,我还设置了在eclipse“订单和导出”对话框中导出的依赖项

  • 我尝试将java项目构建为jar文件,并将其作为jar依赖项添加到android项目中

  • 我创建了一个android库项目作为'glue':我将java项目作为依赖项添加到库项目中,并将库项目添加为android项目的“android依赖项”

  • 我检查了同一个父文件夹中文件系统内部的所有项目(读取,否则底层ant任务可能会有一些麻烦)

  • 我用Google搜索了一段时间

如果有人可以提供帮助,真的会很好。也许我只是错过了一些小小的屁股?

Bluddy

1 个答案:

答案 0 :(得分:4)

问题是我使用Java 7构建java项目,似乎不受android支持。 'Phix'在他非常有帮助的帖子中指出了这一点(他也在为自己辩护): https://stackoverflow.com/a/13304441/1145459

(Bluddymarri回答,我刚刚在这里发布,以帮助他关闭它)