部署集成 >> 服务器部署 >> Websphere服务器 >> WebSphere5.1类加载报错解决方案

WebSphere5.1类加载报错解决方案

顶( )
最后更新日期: 2019-10-16 人发表评论 (点击查看)
00000028、WebSphere5.1类加载报错解决方案、WebSphere5.1部署报错、E SRVE0026E、第三方插件、类冲突
1. 问题描述
WebSphere5.1在部署报表工程的时候可能会出现如下错误:
  1. [10-7-7 12:23:47:750 CST] 44a5ba79 WebGroup      E SRVE0026E:   
  2. [Servlet 错 误]-[javax.xml.namespace.QName: method getPrefix()Ljava/lang /String; not found]:  
  3. java.lang.NoSuchMethodError: javax.xml.namespace.QName: method getPrefix()Ljava /lang/String; not found   
  4. at  com.sun.xml.stream.events.XMLEventAllocatorImpl.fillAttributes(XMLEventAllocatorImpl.java:186)   
  5. at com.sun.xml.stream.events.XMLEventAllocatorImpl.getXMLEvent(XMLEventAllocatorImpl.java:78)  
  6. at com.sun.xml.stream.events.XMLEventAllocatorImpl.allocate(XMLEventAllocatorImpl.java:54)  
  7. at com.sun.xml.stream.XMLEventReaderImpl.nextEvent(XMLEventReaderImpl.java:87)  
  8. at com.fr.base.xml.XMLableReader.initRootElement(Unknown Source)  
  9. at com.fr.base.xml.XMLableReader.createXMLableReader(Unknown Source)  
  10. at com.fr.base.XMLFileManager.readInputStreamXML(Unknown Source)  
  11. at com.fr.base.XMLFileManager.readXMLFile(Unknown Source)  
  12. [10-7-7 12:23:52:875 CST] 44a5ba79 WebGroup      E SRVE0026E:   
  13. [Servlet 错 误]-[com/fr/web/core /ReportDispatcher]:  
  14. java.lang.NoClassDefFoundError: com/fr/web/core /ReportDispatcher  
  15. at com.fr.web.ReportServlet.doGet(Unknown Source)  
  16. at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)  
  17. at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)  
  18. at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)  
  19. at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)  
  20. at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)  
  21. at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)  
  22. at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)  
  23. at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)  
  24. at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)  
2. 报错原因
由于FineReport使用了一些第三方的插件跟WebSphere5.1里面的插件相同,但是插件版本 不同(不同版本间方法的个数与实现可能不同),相同的插件只会加载一个版本如加载了WebSphere5.1中使用的版本,当报表端使用到该第三方插件时就可能会因为找不到某些类而报如上的错误。
3. 解决方案
为了不发生找不到类的错误,就需要调整类加载顺序,确保服务器加载了FineReport下的第三方插件版本,具体步骤如下。
3.1 确定jar包位置
由上报错信息,找到报错中所示的类文件所在的jar包:D:\FineReport_7.0\WebReport\WEB-INF\lib下的fr-third-7.0.jar跟fr-server-7.0.jar下面
fr-third-7.0.jar\Javax\xml\namespace\QName.class
fr-server-7.0.jar\com\fr\web\core\ReportDispatcher.class
3.2 拷贝jar包
将这2个与报错相关的jar包拷贝到WebSphere5.1的WebSphere\AppServer\lib下面,重启WebSphere即可解决问题:
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
返回顶部
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3