Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/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
Jsf WebSphereApplicationServer7.x中的类加载器问题_Jsf_Jsf 2_Websphere_Xstream_Websphere 7 - Fatal编程技术网

Jsf WebSphereApplicationServer7.x中的类加载器问题

Jsf WebSphereApplicationServer7.x中的类加载器问题,jsf,jsf-2,websphere,xstream,websphere-7,Jsf,Jsf 2,Websphere,Xstream,Websphere 7,com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl与不兼容 javax.xml.stream.XMLOutputFactory com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl与不兼容 javax.xml.stream.XMLInputFactory 从应用程序(Web inf/lib)中删除了“jsr173_1.0_api.jar”、“stax-api-1.0-2.jar”,其中包含“XMLOutputF

com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl与不兼容 javax.xml.stream.XMLOutputFactory

com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl与不兼容 javax.xml.stream.XMLInputFactory

从应用程序(Web inf/lib)中删除了“jsr173_1.0_api.jar”、“stax-api-1.0-2.jar”,其中包含“XMLOutputFactory”和“XMLInputFactory”类,以避免与服务器版本发生任何冲突

还将war类装入器顺序更改为“parent last”,并 WebSphere admin中“应用程序单类加载程序”的策略 安慰已进行此更改以使应用程序JAR
WebInf/lib
优先于服务器JAR

下面是堆栈跟踪

java.lang.ClassCastException: com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl incompatible with javax.xml.stream.XMLOutputFactory
                                 javax.faces.FacesException: #{tBean.persist}: java.lang.ClassCastException: com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl incompatible with javax.xml.stream.XMLOutputFactory
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    at javax.faces.component.UICommand.broadcast(UICommand.java:315)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1655)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1595)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.testtech.myapp.admin.authentication.UrlAuthorization.doFilter(Unknown Source)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.testtech.myapp.admin.authentication.UrlAuthentication.doFilter(Unknown Source)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:114)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:895)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:932)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:500)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:183)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
Caused by: javax.faces.el.EvaluationException: java.lang.ClassCastException: com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl incompatible with javax.xml.stream.XMLOutputFactory
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    ... 42 more
Caused by: java.lang.ClassCastException: com.ibm.xml.xlxp2.api.stax.XMLOutputFactoryImpl incompatible with javax.xml.stream.XMLOutputFactory
    at javax.xml.stream.XMLOutputFactory.newInstance(XMLOutputFactory.java:98)
    at com.thoughtworks.xstream.io.xml.StaxDriver.getOutputFactory(StaxDriver.java:157)
    at com.thoughtworks.xstream.io.xml.StaxDriver.createWriter(StaxDriver.java:109)
    at com.thoughtworks.xstream.XStream.toXML(XStream.java:802)
    at com.thoughtworks.xstream.XStream.toXML(XStream.java:792)
    at com.testtech.UI.z.service.zService.createz(Unknown Source)
    at com.testtech.UI.z.web.zBean.persist(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:600)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    ... 43 more
JSF2.1.2
Spring 3.1.0
Prettyfaces-jsf2-3.3.2
Primefaces 3.2
WebSphere Application Server 7.0.0.9


在解决类加载问题时,您可能需要 重写父类装入器可见的类。推翻 使用特定于应用程序的类,设置类加载器 模式设置为包含应用程序的类加载器上的最后一个父级 类路径上的类。应用程序可以覆盖可见的类 但这样做可能会导致 ClassCastException或UnsatifiedLinkError,如果混合使用 重写类和非重写类


您正在使用第三方JSF实现。作为第一步,我建议您检查配置是否正确。这里是的信息中心链接

基本上你必须

  • 创建一个独立的共享库
  • 将JSF库及其依赖项放在其中
  • 将共享库与您的模块相关联
  • 将应用程序类加载器策略设置为PARENTLAST

这看起来不像是JSF问题,仍然保留标记,因为它可能与JSF项目相关。为xstream JAR创建独立的共享库(环境->共享库->类路径和本机路径)并与应用程序关联解决了类加载问题。非常感谢。