我有一种情况,我得到一个NoClassDefFoundError。由于没有太多的资料,我100%肯定,类是存在的,我做了Eclipse调试器的一些详细的测试:非常奇怪NoClassDefFoundError
- 启动Java程序在调试模式下
- 当它停(地方) ,我检查正在运行的线程的类路径(在调试模式下)。 “missing”类的目录就在那里,而.class文件也在那里。
在表达式窗口,我想补充两个表达式:
一)新MyClass的() - >导致的NoClassDefFoundError
二)MyClass.class - >显示类定义!?!?
- 我把一个断点放在MyClass构造函数的第一行,它永远不会停在那里,所以构造函数永远不会被调用......调用类的私有静态最终字段从调试窗口工作...
这怎么可能?我还用VisualVM窥视了这个过程,我可以看到“MyClass”定义。课堂上有什么会导致这样的错误?
我不能得到这种情况的一个小复制的例子,因为我不知道是什么原因导致它。类的单元测试可以实例化它,这种行为只发生在一个集成的上下文中。
分享一些你得到这个错误的代码。 – 11thdimension
如果在初始化类时发生故障,通常当我们在静态块中出现异常时,可能会发生这种情况,请检查所有静态块 –
@NicolasFilotto,这正是原因......有一个调用Spring Bean一个静态初始化器... – Martin