2012-06-08 20 views
6

Ich habe ein seltsames Problem.java.lang.ClassNotFoundException: org.jboss.logging.Logger

Ich habe eine JMS-Client-Anwendung & eine MDB in Jboss jboss-5.1.0.GA konfiguriert. Früher habe ich das Glas durch "Configure Build Path" -> "Externe Jars hinzufügen" hinzugefügt und alles hat gut funktioniert.

Jetzt habe ich alle Gläser in einen lib-Ordner unter meinem Projekt verschoben und verwendet "Configure Build Path" -> "Add Gläser".

Jetzt bekomme ich die folgende Ausnahme während der Ausführung des Client-Programms. :(

`Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/logging/Logger 
at org.jnp.interfaces.NamingContext.<clinit>(NamingContext.java:160) 
at org.jnp.interfaces.NamingContextFactory.getInitialContext(NamingContextFactory.java:56) 
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) 
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) 
at javax.naming.InitialContext.init(Unknown Source) 
at javax.naming.InitialContext.<init>(Unknown Source) 
at com.dcat2.messaging.sendreceive.MessageReceiver_test.sendMessage(MessageReceiver_test.java:68) 
at com.dcat2.messaging.sendreceive.MessageReceiver_test.main(MessageReceiver_test.java:57) 
`Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 8 more` 

Ich habe jndi.properties im Classpath und die folgenden Gläser.

jbossall-client.jar 
commons-logging.jar 
concurrent.jar 
javax.ejb.jar 
jms.jar 
jnp-client-4.2.2.GA.jar 
log4j-1.2.16.jar 
sqljdbc4.jar 

Kann mir jemand bitte helfen ....?

+0

Wie führen Sie das Client-Programm aus? –

+0

können Sie die Importe anzeigen? Es scheint, dass Sie versuchen, den jboss Logger zu verwenden, aber Sie haben log4j auf dem Klassenpfad. Vielleicht sollten Sie importieren org.apache.log4j – peshkira

+0

@peshkira .... Ich habe import org.apache.log4j – user1407668

Antwort

0

Es sieht aus wie vielleicht aßen sie die fehlenden lib/Ordner im Klassenpfad Haben Sie den Klassenpfad aktualisiert, um auf den lib-Ordner zu verweisen? Wenn Sie eine Manifestdatei haben, vergewissern Sie sich, dass sie den lib-Ordner für die jars referenziert.Wenn Sie Ihr Programm ausführen, können Sie sehen, ob Es zeigt auf diese Gläser. Die Einstellung der Sonnenfinsternis ist nur in Eclipse gut, also wenn Du gehst hinaus, dass du den Klassenpfad beobachten musst.

+0

Hallo alle, Wann Ich habe die jbossall-client.jar aus dem jboss-Installationspfad (../ jboss-5.1.0.GA \ client) und nicht aus dem lib-Ordner hinzugefügt, es hat funktioniert. So, kann ich das jar nicht zum lib-Ordner hinzufügen & in meinen Buildpath aufnehmen? Irgendeine Idee? – user1407668

+0

Außerdem habe ich versucht, Folgendes in der Manifest-Datei hinzuzufügen und ausprobiert. Aber habe das gleiche Problem Klassenpfad: ../lib/jbossall-client.jar – user1407668

+0

Das funktioniert nur, wenn die jbossall-client.jar-Datei in Ihrem Jar ist. Hat Ihr Glas einen lib-Ordner? – Logan

0

Das eigentliche Problem war jbossall-client.jar enthält Verweise auf andere Gläser. Daher müssen wir es aus dem JBOSS_HOME hinzufügen. Das ist, warum es nicht funktionierte, wenn ich in mein lib-Verzeichnis kopierte.

Dank

2

Sie jboss-logging-3.1.0.GA benötigen, die mit Hibernate Verteilung kommt oder es heruntergeladen seperat kann.

0

Sein Problem mit JBOSS Logger Kompatibilität mit JDK Upgrade auf 1.7 auf-wärts JDK1.7 nicht eigener Level erlaubt Bitte verwenden Bibliothek kompatibel mit jdk1.7 (Hit und Versuchen) vielleicht lib doc kann ihm helfen.

Andernfalls ändern Sie das Problemglas selbst (nicht empfohlen)

Verwandte Themen