java.lang.NoClassDefFoundError:无法初始化类org.apache.activemq.util.IdGenerator [英] java.lang.NoClassDefFoundError: Could not initialize class org.apache.activemq.util.IdGenerator
问题描述
我正在尝试将ActiveMQ 5.10.0
与SoapUI 4.6
和Hermes 1.14
一起使用.尝试添加队列时出现以下错误.我假设Hermes在任何已加载的jar中都找不到类型IdGenerator
.分别是:
I am trying to use ActiveMQ 5.10.0
with SoapUI 4.6
and Hermes 1.14
. I get the error below when I try and add a queue. I presume Hermes can't find the type IdGenerator
in any of the loaded jars. Which are:
activemq-client-5.10.0.jar
geronimo-j2ee-management_1.1_spec-1.0.1.jar
geronimo-jms_1.1_spec-1.1.1.jar
有人知道该类在哪里定义吗?我在二进制发行版中查找了activemq-util.jar
,但是没有找到这样的文件.
Does anyone know where this class is defined? I looked for activemq-util.jar
in the binary distribution but I did not find such a file.
错误:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.activemq.util.IdGenerator
at org.apache.activemq.ActiveMQConnectionFactory.getClientIdGenerator(ActiveMQConnectionFactory.java:969)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:363)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:331)
at org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:303)
at org.apache.activemq.ActiveMQConnectionFactory.createQueueConnection(ActiveMQConnectionFactory.java:260)
at hermes.impl.jms.ConnectionManagerSupport.createConnection(ConnectionManagerSupport.java:147)
at hermes.impl.jms.ConnectionManagerSupport.createConnection(ConnectionManagerSupport.java:92)
at hermes.impl.jms.ConnectionSharedManager.reconnect(ConnectionSharedManager.java:81)
at hermes.impl.jms.ConnectionSharedManager.connect(ConnectionSharedManager.java:91)
at hermes.impl.jms.ConnectionSharedManager.getConnection(ConnectionSharedManager.java:104)
at hermes.impl.jms.ConnectionSharedManager.getObject(ConnectionSharedManager.java:142)
at hermes.impl.jms.ThreadLocalSessionManager.connect(ThreadLocalSessionManager.java:190)
at hermes.impl.jms.ThreadLocalSessionManager.getSession(ThreadLocalSessionManager.java:570)
at hermes.impl.jms.AbstractSessionManager.getDestination(AbstractSessionManager.java:460)
at hermes.impl.DefaultHermesImpl.getDestination(DefaultHermesImpl.java:367)
at hermes.browser.tasks.BrowseDestinationTask.invoke(BrowseDestinationTask.java:141)
at hermes.browser.tasks.TaskSupport.run(TaskSupport.java:175)
at hermes.browser.tasks.ThreadPool.run(ThreadPool.java:170)
at java.lang.Thread.run(Unknown Source)
推荐答案
IdGenerator类位于activemq-client jar中.这是在源代码树中搜索的结果:
The IdGenerator class is located in the activemq-client jar. Here is the result of a search in the source tree:
/activemq-client/src/main/java/org/apache/activemq/util/IdGenerator.java
/activemq-client/src/main/java/org/apache/activemq/util/IdGenerator.java
最近没有任何更改,因此我猜该错误会引起误解,并且实际上是在创建类时正在加载的其他一些缺少的依赖关系.日志中是否有更多信息或由异常导致"?
There's been no recent changes so I'd guess that the error is misleading and that it's actually some other missing dependency that's being loaded when the class is created. Is there more information in the log or a 'caused by exception' ?
这篇关于java.lang.NoClassDefFoundError:无法初始化类org.apache.activemq.util.IdGenerator的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!