我正在编写一个示例应用程序,以使用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)

最佳答案

是的,这非常有用,您可以从以下链接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并将其添加到您的项目中,这样它将开始工作。

10-08 13:36