2011-11-21 9 views
6

Estoy intentando ejecutar el ejemplo del mundo hola found hereactivo MQ - HelloWorld ejemplo excepción

he añadido activemq-all-5.5.1.jar a las bibliotecas ya

Se construye con éxito con el siguiente advertencia

warning: [options] bootstrap class path not set in conjunction with -source 1.6

Pero no se ejecuta, consigo esta excepción

Exception in thread "Thread-0" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/jms/JMSException at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at hw_testing.HW_testing$HelloWorldProducer.run(HW_testing.java:69) at java.lang.Thread.run(Thread.java:722)

Exception in thread "Thread-1" java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/jms/JMSException at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at hw_testing.HW_testing$HelloWorldProducer.run(HW_testing.java:69) at java.lang.Thread.run(Thread.java:722)

... Y la misma excepción para el hilo 3 y 4

Puede alguien ayudarme con eso por favor?

Respuesta

11

Este es un problema con las dependencias (javax/jms/JMSException se encuentra en varios contenedores), lo que ocurre p. con javaee-api (5 o 6): este contenedor carece de algunos cuerpos de método para varias clases. activemq-all-5.5.1.jar también contiene javax.jms.JMSException pero estas clases no son idénticas. Si javaee-api aparece primero en classpath, obtendrá el java.lang.ClassFormatError.

Si utiliza Maven, poner javaee-apidespuésactivemq-all (o eliminarlo). En general, elimine las dependencias innecesarias.

+0

excelente solución ... funciona como encanto .. –

+0

Gracias Jeha, está funcionando. –

Cuestiones relacionadas