运行JUNIT方法时java.lang.ExceptionInInitializeError
我用一个测试方法运行了一个简单的JUnitTestClass。 我被下面的错误卡住了 stackTrace如下所示运行JUNIT方法时java.lang.ExceptionInInitializeError,junit,Junit,我用一个测试方法运行了一个简单的JUnitTestClass。 我被下面的错误卡住了 stackTrace如下所示 java.lang.ExceptionInInitializerError at java.lang.J9VMInternals.initialize(J9VMInternals.java:263) at com.ibm.ws.webservices.engine.soap.SAAJMetaFactoryImpl.newMessageFactory(SAAJMeta
java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:263)
at com.ibm.ws.webservices.engine.soap.SAAJMetaFactoryImpl.newMessageFactory(SAAJMetaFactoryImpl.java:56)
at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:159)
at com.sun.xml.internal.ws.api.SOAPVersion.<init>(SOAPVersion.java:179)
at com.sun.xml.internal.ws.api.SOAPVersion.<clinit>(SOAPVersion.java:84)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:241)
at com.sun.xml.internal.ws.api.BindingID.<clinit>(BindingID.java:336)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:241)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parseBinding(RuntimeWSDLParser.java:425)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:322)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:147)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:267)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:230)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:178)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93)
at javax.xml.ws.Service.<init>(Service.java:57)
java.lang.ExceptionInInitializeError
在java.lang.J9VMInternals.initialize(J9VMInternals.java:263)中
位于com.ibm.ws.webservices.engine.soap.SAAJMetaFactoryImpl.newMessageFactory(SAAJMetaFactoryImpl.java:56)
位于javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:159)
位于com.sun.xml.internal.ws.api.SOAPVersion.(SOAPVersion.java:179)
位于com.sun.xml.internal.ws.api.SOAPVersion.(SOAPVersion.java:84)
位于java.lang.J9VMInternals.initializeImpl(本机方法)
在java.lang.J9VMInternals.initialize(J9VMInternals.java:241)中
位于com.sun.xml.internal.ws.api.BindingID。(BindingID.java:336)
位于java.lang.J9VMInternals.initializeImpl(本机方法)
在java.lang.J9VMInternals.initialize(J9VMInternals.java:241)中
位于com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parseBinding(RuntimeWSDLParser.java:425)
位于com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:322)
位于com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:147)
在com.sun.xml.internal.ws.client.wsservicedegate.parseWSDL(wsservicedegate.java:267)
在com.sun.xml.internal.ws.client.WSServiceDelegate上。(WSServiceDelegate.java:230)
在com.sun.xml.internal.ws.client.WSServiceDelegate上。(WSServiceDelegate.java:178)
位于com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93)
位于javax.xml.ws.Service。(Service.java:57)
有人能帮我吗?背后的原因是什么
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (Caused by java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j) (Caused by org.apache.commons.logging.LogConfigurationException: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (Caused by java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j))
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
at com.ibm.ws.webservices.engine.components.logger.LogFactory$1.run(LogFactory.java:119)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at com.ibm.ws.webservices.engine.components.logger.LogFactory.getLog(LogFactory.java:111)
at com.ibm.ws.webservices.engine.soap.MessageFactoryImpl.<clinit>(MessageFactoryImpl.java:103)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:241)
... 41 more
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (Caused by java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
... 48 more
Caused by: java.lang.UnsupportedOperationException: Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j
at org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:366)
at org.apache.commons.logging.impl.LogFactoryImpl.access$000(LogFactoryImpl.java:113)
at org.apache.commons.logging.impl.LogFactoryImpl$1.run(LogFactoryImpl.java:457)
at java.security.AccessController.doPrivileged(AccessController.java:229)
at org.apache.commons.logging.impl.LogFactoryImpl.loadClass(LogFactoryImpl.java:454)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:406)
... 49 more
原因:org.apache.commons.logging.logonfigurationexception:org.apache.commons.logging.logonfigurationexception:java.lang.UnsupportedOperationException:Operation[getContextClassLoader]在jcl-over-slf4j中不受支持。另见http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (由java.lang.UnsupportedOperationException引起:jcl-over-slf4j中不支持操作[getContextClassLoader]。另请参见http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j) (由org.apache.commons.logging.LogConfigurationException引起:java.lang.UnsupportedOperationException:jcl-over-slf4j中不支持操作[getContextClassLoader]。另请参见http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (由java.lang.UnsupportedOperationException引起:操作[getContextClassLoader]jcl-over-slf4j中不支持。另请参阅http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j))
位于org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
位于org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
位于com.ibm.ws.webservices.engine.components.logger.LogFactory$1.run(LogFactory.java:119)
位于com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
在com.ibm.ws.webservices.engine.components.logger.LogFactory.getLog(LogFactory.java:111)上
位于com.ibm.ws.webservices.engine.soap.MessageFactoryImpl.(MessageFactoryImpl.java:103)
位于java.lang.J9VMInternals.initializeImpl(本机方法)
在java.lang.J9VMInternals.initialize(J9VMInternals.java:241)中
…还有41个
原因:org.apache.commons.logging.LogConfigurationException:java.lang.UnsupportedOperationException:jcl-over-slf4j中不支持操作[getContextClassLoader]。另请参阅http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j (由java.lang.UnsupportedOperationException引起:操作[getContextClassLoader]jcl-over-slf4j中不支持。另请参阅http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j)
位于org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
位于org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
…还有48个
原因:java.lang.UnsupportedOperationException:jcl-over-slf4j中不支持操作[getContextClassLoader]。另请参阅http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j
位于org.apache.commons.logging.LogFactory.getContextClassLoader(LogFactory.java:366)
登录org.apache.commons.logging.impl.LogFactoryImpl.access$000(LogFactoryImpl.java:113)
在org.apache.commons.logging.impl.LogFactoryImpl$1.run(LogFactoryImpl.java:457)
位于java.security.AccessController.doPrivileged(AccessController.java:229)
位于org.apache.commons.logging.impl.LogFactoryImpl.loadClass(LogFactoryImpl.java:454)
位于org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:406)
…还有49个
不过,我不必向类路径添加任何jar文件。我通过添加以下系统属性解决了这个问题:
-Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.SLF4JLogFactory
在通过JUNit运行Web服务时,这是必须的吗?这是您的整个Stacktrace吗?我希望看到一个“由以下原因引起的”:在此之后阻塞。您可能希望显示一些代码。在@MrWiggles中,我正在尝试调用webservice方法。并检查响应是否为null。我正在尝试使用new实例化webservice,其中抛出此ExceptionInInitializationError。我使用的语句如下XXXXProxy=new XXXXProxy();但这是您的全部Stracktrace吗?例外InInitializeRexception通常伴随着一个根本原因stacktrace的其余部分被附加到主stacktrace stacktrace告诉您到底是什么问题。它甚至给您一个链接,让您跟随阅读以解决问题-它以前没有运行,我不知道为什么。现在我设置了正确的如前所述,它是有效的,我不知道为什么!+1尽管如此!