首页 文章

Active MQ - HelloWorld示例异常

提问于
浏览
6

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

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

它通过以下警告成功构建

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

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

线程“Thread-0”中的异常java.lang.ClassFormatError:java.lang的java.lang.ClassLoader.defineClass1(本地方法)中类文件中的本机或抽象方法中的Absent Code属性javax / jms / JMSException .classLoader.defineClass(ClassLoader.java:791)位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449)的java.security.ClassLoader.defineClass(SecureClassLoader.java:142)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) )at java.lang.ClassLoader.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)位于java.lang.Thread.run的hw_testing.HW_testing $ HelloWorldProducer.run(HW_testing.java:69)(Thread.java:722线程“Thread-1”中的异常java.lang.ClassFormatError:java.lang上java.lang.ClassLoader.defineClass1(Native Method)中类文件中的本机或抽象方法中的Absent Code属性javax / jms / JMSException .classLoader.defineClass(ClassLoader.java:791)位于java.net.URLClassLoader.defineClass(URLClassLoader.java:449)的java.security.ClassLoader.defineClass(SecureClassLoader.java:142)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) )at java.lang.ClassLoader.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)位于java.lang.Thread.run的hw_testing.HW_testing $ HelloWorldProducer.run(HW_testing.java:69)(Thread.java:722 )

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

有人可以帮帮我吗?

1 回答

  • 12

    这是依赖性的问题( javax/jms/JMSException 在多个 jar 中),例如,与 javaee-api (5或6) - 这个jar缺少一些类的方法体 . activemq-all-5.5.1.jar 也包含 javax.jms.JMSException 但这些类并不相同 . 如果 javaee-api 在类路径中排在第一位,您将获得 java.lang.ClassFormatError .

    如果您使用maven,请在 activemq-all 之后输入 javaee-api (或将其删除) . 通常,删除不必要的依赖项 .

相关问题