JasperReports - 环境设置
JasperReports 是一个纯 Java 库,而不是独立应用程序。它无法独立运行,因此需要嵌入到另一个客户端或服务器端 Java 应用程序中。由于它基于 Java,因此可以在任何支持 Java(JDK 1.3 及更高版本)的平台上运行。JasperReport 的所有功能都集中在一个 JAR 文件 jasperreports-x.x.x.jar 中。可以从以下站点下载此 JAR 以及必需和可选的库(.ZIP 文件):JasperReport 库链接。从此链接下载最新版本。
ZIP 文件包含 JasperReports JAR 文件以及 JasperReports 源代码、依赖 JAR 和大量演示 JasperReport 功能的示例。
JasperReport 环境
要开始创建报告,我们需要准备好环境。将下载的 JasperReport.ZIP 文件解压到任意位置(在我们的例子中,我们将其解压到 C:ools\jasperreports-5.0.1)。解压文件的目录结构与下面显示的相同 −
以下是所有目录的详细信息 −
build −包含已编译的 JasperReport 类文件。
demo − 包含各种示例,演示了 JasperReports 功能的几个方面。
dist − 包含 jasperreports-x.x.x.jar 文件。我们将此 JAR 文件添加到我们的 CLASSPATH 以利用 JasperReports。
docs − 包含 JasperReports 文档的本地副本。
lib − 包含构建 JasperReports 和在我们的应用程序中使用它所需的所有 JAR。
src −包含 JasperReports 源代码。
build.xml − 用于构建 JasperReports 源代码的 ANT 构建文件。如果我们不打算修改 JasperReports,则无需使用此文件,因为 JasperReports 以编译形式分发。
changes.txt − 一份文本文档,解释 JasperReports 类库的当前版本和以前版本之间的差异。
license.txt − 一份文本文档,包含 LGPL(宽松通用公共许可证)许可证的全文。
readme.txt − 一份文本文档,包含有关如何构建和执行所提供示例的说明。
基本上,我们仅使用 dist 下的 jasperreports-x.x.x.jar 和 lib 目录下的 JAR 来生成报告。由于 JasperReports 是一个开源工具,如果在 jasperreports-x.x.x.jar 中执行期间发现任何缺陷或错误,我们可以修复它并使用 build.xml 文件再次构建 JAR。
设置 CLASSPATH
要使用 JasperReport,我们需要将以下文件设置为我们的 CLASSPATH −
jasperreports-x.x.x.jar,其中 x.x.x 是 JasperReports 版本。该文件位于目录 C:\tools\jasperreports-x.x.x\dist 下。
lib 子目录 (C:\tools\jasperreports-x.x.x\lib) 下的所有 JAR 文件。
安装时,我们使用 JasperReport 版本 5.0.1。右键单击"我的电脑"并选择"属性",单击"高级"选项卡下的"环境变量"按钮。现在用这个 C: ools\jasperreports-5.0.1\dist\jasperreports-5.0.1.jar:C: ools\jasperreports-5.0.1\lib 更新"Path"变量。现在,您可以创建报告了。
在本教程的所有示例中,我们都使用了 ANT 任务来生成报告。build 文件负责导入生成报告所需的所有 JAR。因此,如上所述设置 CLASSPATH 只会帮助那些希望在不使用 ANT 的情况下生成报告的人。
构建设置
本教程中的所有示例 −
已使用简单的文本编辑器编写。
已保存在目录 C:\tools\jasperreports-5.0.1\test\src\com utorialspoint 下。
已使用 Apache ANT 从命令提示符编译和执行。我们将使用 baseBuild.xml 文件,我们将在后续章节中将其导入 ANT build.xml 文件中。将此文件保存到 C:\tools\jasperreports-5.0.1\test。以下是 baseBuild.xml 文件的内容 −
<?xml version = "1.0" encoding = "UTF-8"?> <project name = "JasperReportExample" basedir = "."> <description>Previews our JasperReport XML Design</description> <property name = "file.name" value = "jasper_report_template" /> <!-- Directory where the JasperReports project file was extracted needs to be changed to match the local environment --> <property name = "jasper.dir" value = "../" /> <property name = "dist.dir" value = "${jasper.dir}/dist" /> <property name = "lib.dir" value = "${jasper.dir}/lib" /> <property name = "src.dir" value = "src" /> <property name = "classes.dir" value = "classes" /> <property name = "main-class" value = "com.tutorialspoint.HelpMe" /> <path id = "classpath"> <pathelement location = "./" /> <pathelement location = "${classes.dir}" /> <fileset dir = "${lib.dir}"> <include name = "**/*.jar" /> </fileset> <fileset dir = "${dist.dir}"> <include name = "**/*.jar" /> </fileset> </path> <target name = "compile" depends = "clean-sample"> <mkdir dir = "${classes.dir}"/> <javac srcdir = "${src.dir}" destdir = "${classes.dir}" classpathref = "classpath" /> </target> <target name = "run" depends = "compile"> <echo message = "Running class : ${main-class}"/> <java fork = "true" classname = "${main-class}"> <classpath> <path refid = "classpath" /> </classpath> </java> </target> <target name = "clean-sample"> <delete dir = "${classes.dir}" /> <delete file = "./${file.name}.jasper" /> <delete file = "./${file.name}.jrprint" /> </target> </project>
此文件包含所有必需的目标,如清理目录、编译 java 文件和执行类文件。
以下是 baseBuild.xml 中各个目录提到的详细信息。假设当前目录为 C:\tools\jasperreports-5.0.1\test) −
jasper.dir − is C: ools\jasperreports-5.0.1 directory
lib.dir − is C: ools\jasperreports-5.0.1\lib directory
src.dir − is C:\tools\jasperreports-5.0.1\test\src
classes.dir − is C:\tools\jasperreports-5.0.1\test\classes
main-class − com.tutorialspoint.HelpMe。当命令行未传递任何类文件名时,将执行此类。将此文件保存到 C:\tools\jasperreports-5.0.1\test\src\com utorialspoint。
package com.tutorialspoint; public class HelpMe { public static void main(String[] args) { System.out.println("This is the default class executed." + "Please pass the fully qualified class" + " name to be executed as command line" + " parameter, for example," + " com.tutorialspoint.HelpMe "); } }
Jasper Managers 类
有许多类可用于编译 JRXML 报告设计、填充报告、打印报告、导出为 PDF、HTML 和 XML 文件、查看生成的报告以及报告设计。
这些类的列表为 −
net.sf.jasperreports.engine.JasperCompileManager − 用于编译 JRXML 报告模板。
net.sf.jasperreports.engine.JasperFillManager −用于使用来自数据源的数据填充报告。
net.sf.jasperreports.engine.JasperPrintManager − 用于打印 JasperReports 库生成的文档。
net.sf.jasperreports.engine.JasperExportManager − 用于获取报告填充过程生成的文档的 PDF、HTML 或 XML 内容。
net.sf.jasperreports.view.JasperViewer − 它代表一个简单的 Java Swing 应用程序,可以加载和显示报告。
net.sf.jasperreports.view.JasperDesignViewer −在设计时用于预览报告模板。
设置 Apache ANT
我们将使用 Apache ANT 构建所有示例。因此,请查看ANT - 环境设置章节以在您的系统上设置 Apache ANT。