我遇到了一个奇怪的问题,我的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之外没有其他任何改变。
答案 0 :(得分:0)
NoClassDefFoundError通常意味着JVM已经找到了类(而不是ClassNotFoundExceptioin),但由于没有一些依赖类而无法加载它。
不确定您是否尝试重建整个jar(包含所有3个类)并在JBoss中使用新jar?