我正在尝试将ActiveMQ 5.10.0与SoapUI 4.6和Hermes 1.14结合使用。当我尝试添加一个队列时,我会得到下面的错误。我想Hermes在任何加载的jars中都找不到IdGenerator类型。它们是:
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,但没有找到这样的文件。
错误:
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)发布于 2014-07-30 10:13:29
IdGenerator类位于activemq-client jar中。以下是源树中搜索的结果:
/activemq-client/src/main/java/org/apache/activemq/util/IdGenerator.java
最近没有任何变化,所以我猜这个错误是误导性的,实际上是在创建类时加载的其他缺少的依赖项。日志中是否有更多的信息或“由异常引起的”?
发布于 2016-04-27 21:46:58
这是非常古老的,但如果其他人试图让这件事发生.不要使用内置于HermesJMS的SoapUI。显然,它中有一个bug,它与ActiveMQ v5.8和下面的版本不太好[我尝试了5.11 & 5.13并出现了问题。作弊的解决办法是安装我必须从sourceforge获得的独立版本。
安装sourceforge时假定版本为1.14:-jar hermes-installer-1.14.jar
安装后,您可以将此版本绑定到soapui或使用bat/sh文件启动它。我仍然对ActiveMQ版本5.13有问题,但是5.11版本对我有帮助。
发布于 2017-04-05 09:09:13
它可能对谁感兴趣。这是我经常遇到的共同问题。我称它为jar版本不兼容。在使用最新的hermes 1.14和当前最新的Active 5.14时,我得到了标题中的异常和其他有趣的异常。经过长时间的斗争,我发现通过使用类似于Active MQ的5.3的旧版本,它是固定的。
https://stackoverflow.com/questions/25030146
复制相似问题