我正在编写一个示例应用程序来使用JasperReports创建报告。作为一个桌面java应用程序[jar]我能够获取一个模板并将其转换为一个没有问题的报告。但是[使用相同的库设置]我无法在Glassfish [作为servlet]下执行此操作。
编译报告时遇到很多错误。
String jrFile = "/WEB-INF/HelloWorld.jrxml";
InputStream irs = getServletConfig().getServletContext().getResourceAsStream(jrFile);
JasperReport jr = JasperCompileManager.compileReport(irs);
报告的许多错误是:
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
package net.sf.jasperreports.engine.fill does not exist
import net.sf.jasperreports.engine.fill.*;
例外:
61 errors
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:191)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:201)
答案 0 :(得分:4)
是的,您可以从以下链接http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%203.5.3/jasperreports-3.5.3-project.zip/download下载jdt-compiler3.1.1.jar文件非常有用
你需要下载jasperreports-3.5.3-project.zip文件并从lib文件夹中获取jdt-compiler3.1.1.jar并将其添加到你的项目中它将开始工作。
答案 1 :(得分:2)
我的classpath中缺少JDT - * .jar。一旦添加,那么错误就会消失。