Active MQ - пример исключения HelloWorld - PullRequest
6 голосов
/ 22 ноября 2011

Я пытаюсь запустить пример hello world найденный здесь

Я добавил activemq-all-5.5.1.jar в библиотеки уже

Он успешно собирается со следующим предупреждением

предупреждение: [опции] путь к классу начальной загрузки не задан в сочетании с -source 1.6

Но это не таквыполнить, я получаю это исключение

Исключение в потоке "Thread-0" java.lang.ClassFormatError: отсутствует атрибут кода в методе, который не является собственным или абстрактным в файле класса javax / jms /JMSException в java.lang.ClassLoader.defineClass1 (собственный метод) в java.lang.ClassLoader.defineClass (ClassLoader.java:791) в java.security.SecureClassLoader.defineClass (SecureClassLoader.java:14).URLClassLoader.defineClass (URLClassLoader.java:449) в java.net.URLClassLoader.access $ 100 (URLClassLoader.java:71) в java.net.URLClassLoader $ 1.run (URLClassLoader.java:361) в java.net.URL 1)..run (URLClassLoader.java:355) в Java.security.AccessController.doPrivileged (собственный метод) на java.net.URLClassLoader.findClass (URLClassLoader.java:354) на java.lang.ClassLoader.loadClass (ClassLoader.java:423) на sun.misc.Launcher $ AppClassLoader(Launcher.java:308) в java.lang.ClassLoader.loadClass (ClassLoader.java:356) в hw_testing.HW_testing $ HelloWorldProducer.run (HW_testing.java:69) в java.lang.Thread.run (Thread.java:722)

Исключение в потоке "Thread-1" java.lang.ClassFormatError: отсутствует атрибут кода в методе, который не является собственным или абстрактным в файле класса javax / jms / JMSException в java.lang.ClassLoader.defineClass1 (собственный метод) в java.lang.ClassLoader.defineClass (ClassLoader.java:791) в java.security.SecureClassLoader.defineClass (SecureClassLoader.java:142) в java.net.URLlassFlassLoaderJava: 449) на java.net.URLClassLoader.access $ 100 (URLClassLoader.java:71) на java.net.URLClassLoader $ 1.run (URLClassLoader.java:361) на java.net.URLClassLoader $ 1.run (URLClassLoader.java:355) на java.security.AccessController.doPrivileged (собственный метод) на java.net.URLClassLoader.findClass (URLClassLoader.java:354) на java.lang.ClassLoader.loadClass (ClassLoader.java:423) на солнце.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:308) в java.lang.ClassLoader.loadClass (ClassLoader.java:356) в hw_testing.HW_testing $ HelloWorldProducer.run (HW_testing.java:69) в java.lang.Thread.run (Thread.java:722)

... И то же исключение для потоков 3 и 4

Кто-нибудь может мне помочь с этим, пожалуйста?

1 Ответ

12 голосов
/ 22 ноября 2011

Это проблема с зависимостями (javax/jms/JMSException в нескольких банках), которая возникает, например, с javaee-api (5 или 6) - в этой банке отсутствуют тела некоторых методов для нескольких классов.activemq-all-5.5.1.jar также содержит javax.jms.JMSException, но эти классы не идентичны.Если javaee-api стоит первым в classpath, вы получите java.lang.ClassFormatError.

. Если вы используете maven, поставьте javaee-api после activemq-all (или удалите его).В общем, удалите ненужные зависимости.

...