java.lang.NoClassDefFoundError:无法初始化类|静态块

时间:2016-11-28 16:28:01

标签: java noclassdeffounderror

我遇到了一个奇怪的问题,我的JVM正在抛出java.lang.NoClassDefFoundError。非常感谢任何帮助识别问题。

public class AccessorFactory
{
private static Map classMap = null;
    static
    {
        classMap = new HashMap(100);
        classMap.put("bills", Class.forName("com.example.BillAccessor"));
    }
}

public class BillAccessor
{
    class BillInnerClass
    {
        //some code
    }
}

我有3个类AccessorFactory.class,BillAccessor.class和BillAccessor $ BillInnerClass.class。所有3个都在相同的jar文件中,并且都存在于类路径中。

我最近在BillAccessor $ BillInnerClass类中更改了一些内容,并在jar文件中替换了该文件,并在服务器(jboss)中重新启动了应用程序实例。

重启后我正在

java.lang.NoClassDefFoundError: Could not initialize class AccessorFactory

jar文件和类路径中存在的AccessorFactory类。除了我已经更换了BillAccessor $ BillInnerClass之外没有其他任何改变。

1 个答案:

答案 0 :(得分:0)

NoClassDefFoundError通常意味着JVM已经找到了类(而不是ClassNotFoundExceptioin),但由于没有一些依赖类而无法加载它。

不确定您是否尝试重建整个jar(包含所有3个类)并在JBoss中使用新jar?