2011-11-21 12 views
6

Sto cercando di eseguire l'esempio ciao mondo found hereattivo MQ - esempio eccezione HelloWorld

ho aggiunto activemq-all-5.5.1.jar alle librerie già

Si costruisce con successo con la seguente avviso

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

Ma non funziona, ottengo questa eccezione

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)

... E la stessa eccezione per il filo 3 e 4

Qualcuno può aiutarmi con questo favore?

risposta

11

Questo è un problema con le dipendenze (javax/jms/JMSException è in più giare), che si verifica ad es. con javaee-api (5 o 6) - questo barattolo manca di alcuni corpi metodo per diverse classi. activemq-all-5.5.1.jar contiene anche javax.jms.JMSException ma queste classi non sono identiche. Se javaee-api arriva prima in classpath, si otterrà il java.lang.ClassFormatError.

Se si utilizza Maven, inserire javaee-apidopoactivemq-all (o rimuoverlo). In generale, rimuovere le dipendenze non necessarie.

+0

soluzione eccellente ... funziona come fascino .. –

+0

Grazie Jeha, sta funzionando. –