我正在尝试运行 hello world 示例 found here
我已经将 activemq-all-5.5.1.jar 添加到库中
构建成功,出现以下警告
warning: [options] bootstrap class path not set in conjunction with -source 1.6
但是它没有运行,我得到这个异常
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)
... 线程 3 和 4 的相同异常
有人可以帮我吗?
最佳答案
这是依赖项的问题(javax/jms/JMSException
在多个 jar 中),发生在例如使用 javaee-api
(5 或 6)- 这个 jar 缺少几个类的一些方法体。 activemq-all-5.5.1.jar
也包含 javax.jms.JMSException
但这些类并不相同。如果 javaee-api
在类路径中排在第一位,您将得到 java.lang.ClassFormatError
。
如果您使用 maven,请将 javaee-api
放在 activemq-all
之后(或将其删除)。通常,删除不必要的依赖项。
关于java - Active MQ - HelloWorld 示例异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8218629/