Je suis bloqué par un problème étrange où ma machine virtuelle Java java.lang.NoClassDefFoundError. Toute aide pour identifier le problème est grandement appréciée.java.lang.NoClassDefFoundError: Impossible d'initialiser la classe | bloc statique
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
}
}
J'ai 3 classes AccessorFactory.class, BillAccessor.class et BillAccessor $ BillInnerClass.class. Tous les 3 sont dans le même fichier jar et tous sont présents dans le classpath.
J'ai récemment modifié quelque chose dans la classe BillAccessor $ BillInnerClass et remplacé ce fichier dans le fichier jar et redémarré l'instance d'application dans le serveur (jboss).
restart post Je reçois
java.lang.NoClassDefFoundError: Could not initialize class AccessorFactory
classe AccessorFactory présents dans le fichier jar et dans le chemin de la classe. Rien d'autre n'est changé, sauf que j'ai remplacé BillAccessor $ BillInnerClass.
Avez-vous essayé (a) d'arrêter JBoss, (b) de reconstruire tout le pot, (c) de le déposer dans JBoss, et enfin (d) de redémarrer JBoss? – dcsohl
Attention aux excitations précédentes. Très probablement votre initialiseur statique a échoué. Par exemple que vous obtenez une exception dans 'Class.forName' – eckes