我正在使用Jasper Report使用 jdk1.4 和 tomcat 4.1 来运行报告。我收到了以下错误。我有 xalan-2.7.1.jar , xercesImpl.jar 和 serializer-2.7.1.jar
java.lang.IllegalAccessError: org / apache / xml / serializer / ExtendedContentHandler at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1321) 在 org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400) 在 org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2270) 在 org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1356) 在 org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3447) 在 org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:408) 在org.apache.xerces.parsers.AbstractSAXParser.endDocument(未知 来源)at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(未知 来源)org.apache.xerces.impl.XMLEntityManager.endEntity(未知 来自org.apache.xerces.impl.XMLEntityScanner.load(未知 来源)org.apache.xerces.impl.XMLEntityScanner.skipSpaces(未知) 来源)at org.apache.xerces.impl.XMLDocumentScannerImpl $ TrailingMiscDispatcher.dispatch(未知 来源)at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(未知 来自org.apache.xerces.parsers.XML11Configuration.parse(未知 来自org.apache.xerces.parsers.DTDConfiguration.parse(未知 来源)org.apache.xerces.parsers.XMLParser.parse(未知来源) 在org.apache.xerces.parsers.AbstractSAXParser.parse(未知来源) 在org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:164) 在org.apache.fop.apps.Driver.render(Driver.java:481)
我正在使用以下代码呈现报告
ByteArrayOutputStream out = new ByteArrayOutputStream();司机司机 = new Driver(); driver.setRenderer(Driver.RENDER_PDF); driver.setOutputStream(下); driver.render(input.getParser(), input.getInputSource());
提前致谢。
答案 0 :(得分:1)
删除serializer-2.7.1.jar并将其替换为serializer-2.7.0.jar,然后重新启动。它似乎是一个众所周知的问题,序列化器jar中的类与新版本的xalan,xerces中的类冲突。
参考:
http://support.esri.com/de/knowledgebase/techarticles/detail/33857