【发布时间】:2011-06-29 19:33:15
【问题描述】:
我正在使用 JasperReports,当我尝试生成由我的 tomcat 服务器托管的 html 页面时遇到异常。
行:
JasperReport jasperReport = JasperCompileManager.compileReport(
"C:/Documents and Settings/axc1888/workspace/OATS/WebContent/status.jrxml");
以异常结束:
net.sf.jasperreports.engine.JRRuntimeException: Error creating SAX parser
at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.createParser(JRReportSaxParserFactory.java:108)
at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1338)
at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1313)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:205)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:170)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:154)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:146)
...
Caused by: org.xml.sax.SAXNotRecognizedException: http://java.sun.com/xml/jaxp/properties/schemaLanguage
at gnu.xml.aelfred2.XmlReader.getProperty(XmlReader.java:181)
at gnu.xml.aelfred2.XmlReader.setProperty(XmlReader.java:166)
at gnu.xml.aelfred2.JAXPFactory$JaxpParser.setProperty(JAXPFactory.java:147)
at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.configureParser(JRReportSaxParserFactory.java:139)
at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.createParser(JRReportSaxParserFactory.java:103)
... 8 more
我认为这与服务器路径有关...
提前致谢。
【问题讨论】:
-
另外,我已将 xerces.jar 添加到我的项目中 (jasperforge.org/plugins/espforum/…)
-
还想提一下,我有一个没有 tomcat 服务器的 JasperReports 项目,但似乎一旦我将代码 + jar 移到我的带有 tomcat 的项目中,它就会抛出异常。跨度>
-
更新:xerces.jar 修复了异常。我想我的 Eclipse 有点不同步,我开始寻找不同的 xerces jar。
-
您的路径上似乎有 2 个不同的 SAX 解析器,xerces 和 gnujaxp (Aelfred)。有关将使用哪个解析器的详细信息,请参阅stackoverflow.com/questions/1798366/…。根据我的经验,Aelfred 并不总是支持所有功能,因此我建议您从项目中删除 gnujaxp.jar 文件。
标签: java tomcat jasper-reports