3

我添加了一个新的测试类。并尝试运行它,但得到 no class def found 错误。但其他测试类工作正常。而且我确信新的测试类已经编译,它的 .class 文件在正确的文件夹中。

4

3 回答 3

2

问题中没有足够的信息来提供真正的答案。

调试的第一步是查看 .class 文件是否真的在类路径中,执行类似的操作,

Class c = SomeClass.class;
System.out.println(c.getResource(c.getSimpleName() + ".class"));

如果您打印非 null 的内容,则 .class 文件位于类路径中。

第二步是确保 NoClassDefFoundError 确实是因为您正在加载的类不存在而导致的。使用Eclipse 异常断点来中断 NoClassDefFoundError,并查看它真正尝试加载的类。可能是 X 类需要 Y 类才能加载。

于 2012-09-07T03:47:02.877 回答
1

通过右键单击项目解决问题,然后选择 maven->更新项目配置。

但我仍然不知道什么时候出错。

于 2012-09-08T10:49:34.840 回答
0

如果类文件在编译时存在,但在运行时不可用,则会收到 NoClassDefFoundError。所以我的建议是检查你的类路径,也许新测试缺少一个库或其他东西。

于 2012-09-07T10:13:11.563 回答