1

我目前正在使用版本 4.6.1 (Windows Vista + Eclipse) 编写一个单元测试项目。我的项目分为 3 个部分:

  • A. 单元测试应用(类型:CLDC应用)
  • B. 待测应用(类型:CLDC应用)
  • C. 一个库项目(类型:库,无.jar文件导入)

A 项目应该引用 B 中存在的代码(当然甚至在 C 中)。我想指定我可以毫无问题地运行项目 B(引用 C)。当我尝试运行项目 A 时,我的问题就开始了。

我执行了以下操作:

将 B 项目类型从 CLDC 应用程序更改为库 B 引用项目 C A 引用项目 B 将所有项目设置为“对 Blackberry 有效” 基本上 A 将另外两个项目视为两个嵌套库。代码构建成功,但问题是在执行过程中,当B调用C库的一个类时,抛出如下异常:

NoClassDefFoundError

没有详细信息

任何帮助将非常感激。

非常感谢

4

1 回答 1

3

NoClassDefFoundError 意味着A 在运行时找不到C。通常的原因是 C 未能部署到目标设备(模拟器或真实设备)上。

解决方案1:

对于 Project->Properties->Java Build Path 下的项目 A,确保 C(您的库项目)列在“项目”下,并在“订购和导出”选项卡上选中相应的复选框。这应确保在构建和部署过程中导出库。

解决方案2:

在项目 A 中,将符号链接(右键单击项目->构建路径->链接源)添加到库 C 源。这将强制在构建项目 A 时包含库的源代码。

于 2011-12-04T22:50:05.127 回答