java.lang.NoClassDefFoundError: could not initialize class | static block
Ich bin stecken mit einem seltsamen Problem wo mein JVM wirft java.lang.NoClassDefFoundError. Jede Hilfe bei der Identifizierung des Problems wird sehr geschätzt.
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 im gleichen jar-Datei und alle sind in den Klassenpfad.
Ich habe vor kurzem etwas verändert in BillAccessor$BillInnerClass Klasse und ersetzt diese Datei in der jar-Datei und Neustart der Anwendung-Instanz im server (jboss).
Post starten, den ich bin immer
java.lang.NoClassDefFoundError: Could not initialize class AccessorFactory
AccessorFactory Klasse präsentieren in der jar-Datei und den class-path. Sonst ist nichts geändert, außer dass ich ausgetauscht habe BillAccessor$BillInnerClass.
Schauen Sie heraus nach früheren excetions. Wahrscheinlich die statische Initialisierung ist fehlgeschlagen. Zum Beispiel, dass Sie eine Ausnahme in
Class.forName
InformationsquelleAutor hnadiger | 2016-11-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
NoClassDefFoundError Regel bedeutet, dass der JVM hat sich die Klasse (im Gegensatz zu ClassNotFoundExceptioin), aber nicht in der Lage, es zu laden, weil Sie nicht mit einigen abhängigen Klassen.
Nicht sicher, ob Sie versucht, den Wiederaufbau der gesamten Glas (mit allen 3 Klassen) und verwendet die neue jar-Datei im JBoss?
InformationsquelleAutor Vasu G