在 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.
重新启动服务器,它应该可以工作。
我正在使用 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.
重新启动服务器,它应该可以工作。