Ich bin mit einem seltsamen Problem fest, wo meine JVM java.lang.NoClassDefFoundError wirft. Jede Hilfe bei der Identifizierung des Problems wird sehr geschätzt.java.lang.NoClassDefFoundError: Die Klasse | konnte nicht initialisiert werden Statischer Block
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
}
}
Ich habe 3 Klassen AccessorFactory.class, BillAccessor.class und BillAccessor $ BillInnerClass.class. Alle 3 sind in der gleichen JAR-Datei und alle sind im Klassenpfad vorhanden.
Ich habe vor kurzem etwas in BillAccessor $ BillInnerClass-Klasse geändert und diese Datei in der JAR-Datei ersetzt und Anwendungsinstanz in Server (jboss) neu gestartet.
Beitrag Neustart Ich erhalte
java.lang.NoClassDefFoundError: Could not initialize class AccessorFactory
AccessorFactory Klasse in der JAR-Datei und im Klassenpfad. Nichts anderes wird geändert, außer dass ich BillAccessor $ BillInnerClass ersetzt habe.
Haben Sie versucht, (a) JBoss herunterzufahren, (b) das ganze Glas neu zu bauen, (c) es in JBoss fallen zu lassen und (d) JBoss neu zu starten? – dcsohl
Achten Sie auf frühere Ausnahmen. Höchstwahrscheinlich ist Ihr statischer Initializer fehlgeschlagen. Zum Beispiel, dass Sie eine Exception in 'Class.forName' erhalten – eckes