문제

이것은 나를 미쳤다. 나는 단순히 Mac OSX 10.5.7에서 ActiveMQ를 실행하려고 노력하고 있습니다. Java 버전 1.5.0_19 및 ActiveMQ 5.2.0이 있습니다. 다음은 빈/활성화를 실행할 때 얻는 예외입니다. log4J를 찾을 수없는 것 같습니다. log4J는 activeMQ와 함께 제공되며 확실히 LIB/OptionalS 디렉토리에 있습니다. 내가 생각할 수있는 유일한 것은 어딘가에 갈등이 있다는 것입니다. 그러나 이것이 어떻게 가능한지 상상할 수 없습니다. 누구든지 팁이있는 사람이라면 모두 귀가, 인터넷 검색은 같은 오류로 거의 결과를 얻지 못했으며 정확한 오류가있는 사람에게는 해결책이 없습니다.

> brad-robertsons-macbook-pro:apache-activemq-5.2.0
> bradrobertson$ ./bin/activemq
> ACTIVEMQ_HOME:
> /Users/bradrobertson/Java/apache-activemq-5.2.0
> ACTIVEMQ_BASE:
> /Users/bradrobertson/Java/apache-activemq-5.2.0
> Loading message broker from:
> xbean:activemq.xml ERROR:
> java.lang.RuntimeException: Failed to
> execute start task. Reason:
> java.io.IOException: Could not load
> xbean
> factory:java.lang.ExceptionInInitializerError
> java.lang.RuntimeException: Failed to
> execute start task. Reason:
> java.io.IOException: Could not load
> xbean
> factory:java.lang.ExceptionInInitializerError
>   at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:98)
>   at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>   at
> org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129)
>   at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>   at
> org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79)
>   at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   at
> java.lang.reflect.Method.invoke(Method.java:585)
>   at
> org.apache.activemq.console.Main.runTaskClass(Main.java:225)
>   at
> org.apache.activemq.console.Main.main(Main.java:106)
> Caused by: java.io.IOException: Could
> not load xbean
> factory:java.lang.ExceptionInInitializerError
>   at
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
>   at
> org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:43)
>   at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:70)
>   at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
>   at
> org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
>   at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
>   ... 10 more Caused by:
> java.lang.ExceptionInInitializerError
>   at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)   at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>   at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>   at
> java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>   at
> java.lang.Class.newInstance0(Class.java:350)
>   at
> java.lang.Class.newInstance(Class.java:303)
>   at
> org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:55)
>   at
> org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:42)
>   at
> org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:41)
>   ... 14 more Caused by:
> org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException:
> No suitable Log constructor
> [Ljava.lang.Class;@abcc03 for
> org.apache.commons.logging.impl.Log4JLogger
> (Caused by
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category) (Caused by
> org.apache.commons.logging.LogConfigurationException:
> No suitable Log constructor
> [Ljava.lang.Class;@abcc03 for
> org.apache.commons.logging.impl.Log4JLogger
> (Caused by
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category))   at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
>   at
> org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
>   at
> org.apache.activemq.xbean.XBeanBrokerFactory.<clinit>(XBeanBrokerFactory.java:43)
>   ... 23 more Caused by:
> org.apache.commons.logging.LogConfigurationException:
> No suitable Log constructor
> [Ljava.lang.Class;@abcc03 for
> org.apache.commons.logging.impl.Log4JLogger
> (Caused by
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category)    at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:413)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
>   ... 27 more Caused by:
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category     at
> java.lang.Class.getDeclaredConstructors0(Native
> Method)   at
> java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
>   at
> java.lang.Class.getConstructor0(Class.java:2671)
>   at
> java.lang.Class.getConstructor(Class.java:1629)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
>   ... 28 more ERROR:
> java.lang.Exception:
> java.io.IOException: Could not load
> xbean
> factory:java.lang.ExceptionInInitializerError
> java.lang.Exception:
> java.io.IOException: Could not load
> xbean
> factory:java.lang.ExceptionInInitializerError
>   at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:99)
>   at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>   at
> org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129)
>   at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
>   at
> org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79)
>   at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   at
> java.lang.reflect.Method.invoke(Method.java:585)
>   at
> org.apache.activemq.console.Main.runTaskClass(Main.java:225)
>   at
> org.apache.activemq.console.Main.main(Main.java:106)
> Caused by: java.io.IOException: Could
> not load xbean
> factory:java.lang.ExceptionInInitializerError
>   at
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
>   at
> org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:43)
>   at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:70)
>   at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
>   at
> org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
>   at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
>   ... 10 more Caused by:
> java.lang.ExceptionInInitializerError
>   at
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)   at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>   at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>   at
> java.lang.reflect.Constructor.newInstance(Constructor.java:494)
>   at
> java.lang.Class.newInstance0(Class.java:350)
>   at
> java.lang.Class.newInstance(Class.java:303)
>   at
> org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:55)
>   at
> org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:42)
>   at
> org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:41)
>   ... 14 more Caused by:
> org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException:
> No suitable Log constructor
> [Ljava.lang.Class;@abcc03 for
> org.apache.commons.logging.impl.Log4JLogger
> (Caused by
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category) (Caused by
> org.apache.commons.logging.LogConfigurationException:
> No suitable Log constructor
> [Ljava.lang.Class;@abcc03 for
> org.apache.commons.logging.impl.Log4JLogger
> (Caused by
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category))   at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
>   at
> org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
>   at
> org.apache.activemq.xbean.XBeanBrokerFactory.<clinit>(XBeanBrokerFactory.java:43)
>   ... 23 more Caused by:
> org.apache.commons.logging.LogConfigurationException:
> No suitable Log constructor
> [Ljava.lang.Class;@abcc03 for
> org.apache.commons.logging.impl.Log4JLogger
> (Caused by
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category)    at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:413)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
>   ... 27 more Caused by:
> java.lang.NoClassDefFoundError:
> org/apache/log4j/Category     at
> java.lang.Class.getDeclaredConstructors0(Native
> Method)   at
> java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
>   at
> java.lang.Class.getConstructor0(Class.java:2671)
>   at
> java.lang.Class.getConstructor(Class.java:1629)
>   at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
>   ... 28 more
도움이 되었습니까?

해결책

따라서 다른 Log4J JAR 파일과 충돌했습니다. 나는 아마도 상충되는 일식 플러그인 로그 4J 일 것이라고 생각합니다. activemq lib/옵션에서 log4j를 삭제하면 작동합니다.

다른 팁

이것은 예외가 NoClassDefFoundError ~을 위한 org.apache.log4j.Category. 당신은 그것을 확인해야합니다 log4j 항아리는 클래스 경로에 있습니다.

편집하다: 값을 검사 할 수있는 방법이 있습니까? ACTIVEMQ_CLASSPATH 변하기 쉬운? 변수를 설정하는 스크립트를 통해이를 호출하는 경우 스크립트를 파헤쳐서 클래스 경로에 생각하는 모든 디렉토리를 추가해야 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top