java - Active MQ - HelloWorld 示例异常

标签 java exception jakarta-ee jms activemq

我正在尝试运行 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/

相关文章:

java - 从列表中获取数据

java - @Transactional 是否打开 session 并绑定(bind)它?

android - 无法展开 RemoteViews

c# - 是否有任何正当理由忽略捕获的异常

java - 如何使用jpa从数据库中获取特定的id?

jsf - 为什么 FacesServlet 不能有/*. 的 url-pattern?

java - DecimalFormat 模式问题

java - 执行 Eclipse (Selenium) 时出现以下错误

c# - 在 WCF 服务上运行 svcutil.exe 时,OperationBehaviorAttribute 错误

java - Weblogic/JDeveloper 凭证映射器问题