Java 8 / Jboss EAP 6.4.2-偶尔出现java.lang.ClassNotFoundException:com.sun.xml.internal.bind.v2.ContextFactory,同时连接到SOAP WS

问题描述

自从迁移到Java 8以来,我们在连接到SOAP Web服务时面临一个问题。有时(实际上很少)连接正常,但大多数情况下 java.lang.classNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory这个问题的暂时性是另一个问题。应用服务器上的内存可用性看起来还可以。

  • Java8
  • Jboss EAP 6.4.2

关于SO的大多数其他相关问题表明,人们从Java 8升级到Java 11等后就遇到了这个问题,但是在使用Java 8时却没有。 关于可能的原因和解决方案的建议吗?

Caused by: org.apache.cxf.service.factory.ServiceConstructionException
    at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:350)
    at org.apache.cxf.service.factory.AbstractServicefactorybean.initializeDataBindings(AbstractServicefactorybean.java:86)
    at org.apache.cxf.service.factory.ReflectionServicefactorybean.buildServiceFromWSDL(ReflectionServicefactorybean.java:446)
    at org.apache.cxf.service.factory.ReflectionServicefactorybean.initializeServiceModel(ReflectionServicefactorybean.java:548)
    at org.apache.cxf.service.factory.ReflectionServicefactorybean.create(ReflectionServicefactorybean.java:265)
    at org.apache.cxf.jaxws.support.JaxWsServicefactorybean.create(JaxWsServicefactorybean.java:215)
    at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:102)
    at org.apache.cxf.frontend.Clientfactorybean.create(Clientfactorybean.java:91)
    at org.apache.cxf.frontend.ClientProxyfactorybean.create(ClientProxyfactorybean.java:157)
    at org.apache.cxf.jaxws.JaxWsProxyfactorybean.create(JaxWsProxyfactorybean.java:142)
    at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:478)
    at org.jboss.wsf.stack.cxf.client.ProviderImpl$JBossWSServiceImpl.createPort(ProviderImpl.java:558)
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:345)
    ... 67 more
Caused by: javax.xml.bind.JAXBException
 - with linked exception:
[java.lang.classNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory from [Module "deployment.ear.ejb-jboss.jar:main" from Service Module Loader]]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:196) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:361) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:618) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:341)
    at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:339)
    at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_162]
    at org.apache.cxf.common.jaxb.JAXBContextCache.createContext(JAXBContextCache.java:339)
    at org.apache.cxf.common.jaxb.JAXBContextCache.getCachedContextAndSchemas(JAXBContextCache.java:240)
    at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:493)
    at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:348)
    ... 79 more
Caused by: java.lang.classNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory from [Module "deployment.ear.ejb-jboss.jar:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:211) [jboss-modules.jar:1.3.10.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performloadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.10.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performloadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.10.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performloadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.10.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.10.Final-redhat-1]
    at javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:510) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:194) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
    ... 88 more

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...