2012-06-08 45 views
6

Tengo un problema extraño.java.lang.ClassNotFoundException: org.jboss.logging.Logger

Tengo una aplicación de cliente JMS & una MDB configurada en Jboss jboss-5.1.0.GA. Anteriormente agregué el jar por "Configurar ruta de compilación" -> "Agregar jarras externas" y todo estaba funcionando bien.

Ahora, moví todos los archivos jar a una carpeta lib bajo mi proyecto y utilicé "Configurar ruta de compilación" -> "Agregar jarros".

Ahora recibo la siguiente excepción al ejecutar el programa cliente. :(

`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` 

que tienen jndi.properties en la ruta de clase y los siguientes frascos.

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 

puede ayudar a nadie por favor ....?

+0

¿Cómo está ejecutando el programa cliente? –

+0

¿Puedes mostrar las importaciones? Parece que estás tratando de usar el registrador jboss pero tienes log4j en la ruta de la clase. Puede ser que usted debe importar org.apache.log4j – peshkira

+0

@peshkira .... He utilizado la importación org.apache.log4j – user1407668

Respuesta

0

Parece que tal vez se comieron la falta lib/carpeta en la ruta de clase. ¿Actualizaste la ruta de clase para apuntar a la carpeta lib? Si tienes un archivo de manifiesto, asegúrate de que hace referencia a la carpeta lib para los archivos jar. Imprime tu ruta de clase cuando se ejecute tu programa, luego puedes ver si apunta a esos frascos. El ajuste del eclipse solo es bueno en eclipse, por lo que si sales de eso, tienes que mirar el camino de la clase.

+0

Hola a todos, Cuando Agregué el jbossall-client.jar desde la ruta de instalación de jjebs (../jboss-5.1.0.GA \ client) y no desde la carpeta lib, funcionó. Así que, ¿no puedo agregar este archivo jar a la carpeta lib? incluir en mi buildpath? ¿Alguna idea? – user1407668

+0

Además, traté de agregar lo siguiente en el archivo de manifiesto y lo intenté. Pero tiene el mismo problema Class-Path: ../lib/jbossall-client.jar – user1407668

+0

Eso solo funciona si el archivo jbossall-client.jar está en su jar. ¿Su jar tiene una carpeta lib? – Logan

0

El problema real era jbossall-client.jar contiene referencias a otros archivos jar. Por lo tanto, debemos agregarlo desde JBOSS_HOME. Por eso no funcionó cuando copié a mi directorio lib.

Gracias

2

que necesitan jboss-logging-3.1.0.GA que viene con la distribución de hibernación o puede descargarse por separado.

0

Su problema con la compatibilidad con la actualización registrador JBOSS JDK a 1,7 en las salas JDK1.7 no permite niveles personalizados Por favor, use la biblioteca compatible con jdk1.7 (Hit and TRY) tal doc lib puede ayudar en ella.

De lo contrario, cambie el jarro problemático usted mismo (No recomendado)

Cuestiones relacionadas