Activemq - Hello World示例异常

时间:2011-11-21 21:16:50

标签: java exception java-ee jms activemq

我正在尝试运行hello world示例found here

我已将 activemq-all-5.5.1.jar 添加到已经

的库中

使用以下警告成功构建

  

警告:[options] bootstrap类路径未与-source 1.6一起设置

但它没有运行,我得到了这个例外

  

线程“Thread-0”中的异常java.lang.ClassFormatError:在类文件javax / jms / JMSException中非本地或抽象的方法中缺少Code属性       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)       在java.net.URLClassLoader.access $ 100(URLClassLoader.java:71)       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)       at java.security.AccessController.doPrivileged(Native Method)       在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)       在java.lang.Thread.run(Thread.java:722)

     

线程“Thread-1”中的异常java.lang.ClassFormatError:类文件中缺少本地或抽象的代码属性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)       在java.net.URLClassLoader.access $ 100(URLClassLoader.java:71)       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)       at java.security.AccessController.doPrivileged(Native Method)       在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)       在java.lang.Thread.run(Thread.java:722)

... 线程3和4的相同例外

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:12)

这是依赖关系的问题(javax/jms/JMSException在多个罐子中),例如,与javaee-api(5或6) - 这个jar缺少一些类的方法体。 activemq-all-5.5.1.jar也包含javax.jms.JMSException但这些类并不相同。如果{class 1}}在classpath中排在第一位,您将获得javaee-api

如果您使用maven,请在 java.lang.ClassFormatError之后添加javaee-api (或将其删除)。通常,删除不必要的依赖项。