Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在控制台中从Maven启动时,ActiveMQ无法创建本地注册表_Java_Maven_Jms_Activemq - Fatal编程技术网

Java 在控制台中从Maven启动时,ActiveMQ无法创建本地注册表

Java 在控制台中从Maven启动时,ActiveMQ无法创建本地注册表,java,maven,jms,activemq,Java,Maven,Jms,Activemq,当从控制台使用maven运行单元测试时,我在初始化ActiveMQ(ActiveMQ核心:5.7.0)时遇到问题。当我从Intellij运行它时,一切都正常 Intellij runner的结果: 2016-07-04 14:21:22 DEBUG JNDIHelper:90 - {java.naming.provider.url=vm://localhost, java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitia

当从控制台使用maven运行单元测试时,我在初始化ActiveMQ(ActiveMQ核心:5.7.0)时遇到问题。当我从Intellij运行它时,一切都正常

Intellij runner的结果:

2016-07-04 14:21:22 DEBUG JNDIHelper:90 - {java.naming.provider.url=vm://localhost, java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory, java.naming.security.authentication=true}
2016-07-04 14:21:22 DEBUG ManagementContext:492 - Creating RMIRegistry on port 1099
2016-07-04 14:21:22 DEBUG ManagementContext:507 - Probably not using JRE 1.4: mx4j.tools.naming.NamingService
2016-07-04 14:21:22 DEBUG ManagementContext:522 - Created JMXConnectorServer javax.management.remote.rmi.RMIConnectorServer@52ac6ca7
2016-07-04 14:21:22 DEBUG ManagementContext:120 - Starting JMXConnectorServer...
mvn测试结果:

2016-07-04 14:00:26 DEBUG JNDIHelper:90 - {java.naming.provider.url=vm://localhost, java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory, java.naming.security.authentication=true}
2016-07-04 14:00:26 DEBUG ManagementContext:509 - Failed to create local registry. This exception will be ignored.
    java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            at org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:223)
            at org.apache.activemq.broker.jmx.ManagementContext.createConnector(ManagementContext.java:492)
            at org.apache.activemq.broker.jmx.ManagementContext.findTigerMBeanServer(ManagementContext.java:4
    ...
    2016-07-04 14:35:16 ERROR ManagementContext:423 - Failed to initialize MBeanServer
    java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
    ...
    2016-07-04 14:35:16 DEBUG ManagementContext:107 - Error invoking start on mbean null. This exception is ignored.
    java.lang.NullPointerException
            at org.apache.activemq.broker.jmx.ManagementContext.start(ManagementContext.java:102)
            at org.apache.activemq.broker.BrokerService.startManagementContext(BrokerService.java:2367)
    ...
我正在使用的基础设施:

<infrastructure name="localhost" host="vm://localhost"
                        port="0" channel="" connectionType="JNDI" connectionFactory="ConnectionFactory"
                        contextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
                        reconnectInterval="30" reconnectIntervalTimeUnit="SECONDS"
                        reconnectAttempts="30" />


看起来您的slf4j版本不对。尝试使用正确的方法,日志消息有助于找出发生了什么情况。我添加了slf4j依赖项,现在测试通过,即使错误相同。。很奇怪。