在 Java Tomcat 上创建 SAX 解析器 JasperReports 时出错

Error creating SAX parser JasperReports on Java Tomcat

我正在使用 JasperReports 以便使用 tomcat 在 Java 网络应用程序上创建报告,但我遇到了这个错误,我无法在 [=] 上找到解决方案25=]。我发现的唯一主题是将 Xerces 添加到我已经完成但仍然没有改变的依赖项中。

String reportOutput = reportOutputLocation+reportName;
InputStream reportTemplate = getClass().getClassLoader().getResourceAsStream(reportSrcLocation);
JasperDesign jasperDesign = JRXmlLoader.load(reportTemplate);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
Map<String, Object> paramObjects = new HashMap<String, Object>();
paramObjects.putAll(parameters);
JasperPrint jprint = JasperFillManager.fillReport(jasperReport, paramObjects, conn);

错误发生在这里:JRXmlLoader.load(reportTemplate);

这是堆栈跟踪输出:

net.sf.jasperreports.engine.JRRuntimeException: Error creating SAX parser
net.sf.jasperreports.engine.xml.BaseSaxParserFactory.createParser(BaseSaxParserFactory.java:99)
net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1456)
net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1432)
net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:262)
net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:247)
java.lang.Thread.run(Unknown Source)

<jasper.version>5.6.1</jasper.version>
 <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.9.1</version>
</dependency> 

据我所知,代码运行良好,问题出在项目设置中。 pom.xml 很好,依赖项也很好。

为了使这个工作正常,我所做的是双击 Eclipse 上的 tomcat 服务器。

- Download xercesImpl-2.8.1.jar or any other version
- Click on "Open Launch Configuration"
- Go to the tab "Classpath"
- Click on Bootstrap Entries
- Add External JARs
- Select xercesImpl-2.8.1.jar or any version that you prefer.

重新启动服务器,它应该可以工作。