Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
运行JUNIT方法时java.lang.ExceptionInInitializeError_Junit - Fatal编程技术网

运行JUNIT方法时java.lang.ExceptionInInitializeError

运行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

我用一个测试方法运行了一个简单的JUnitTestClass。 我被下面的错误卡住了

stackTrace如下所示

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尽管如此!