我有一个有静态final方法的类[说A,B,C]。静态final方法的java.lang.NoClassDefFoundError
C调用另一个类D [D的包在C中导入]。
Maven组装jar [说M.jar],我没有包D。 在运行时,当我尝试调用类路径中具有M.jar的A时,获取noclasdef错误,说D不存在。
为什么我得到这个?
package TEST1
import test.CHECK.TestA;
import test.CHECK.TestB;
class Factory
{
final static A()
{
//some ref to test.CHECK.TestA
}
static B()
{
//some ref to test.CHECK.TestB
}
static C()
{
}
我有一个jar包含此类和包test.CHECK.TestB在该jar中。但是,这个jar不包含test.CHECK.TestA。
现在,我的客户端程序有这个jar调用C()
。 然后,获取TestA的ClassNotFoundException,但我们没有调用A()。这是为什么?
不要混淆代码,变得很难理解 –
请在这里发表您的代码.. –
请提供更多的细节来说明你的问题 - 显示出一些实际的代码将上升答案 – mschenk74