环境设置(Environment Setup)
JasperReports是一个纯Java库,而不是一个独立的应用程序。 它不能独立运行,因此需要嵌入到另一个客户端或服务器端Java应用程序中。 由于它是基于Java的,因此可以在任何支持Java的平台(JDK 1.3及更高版本)上运行。 所有JasperReport的功能都集中在一个JAR文件jasperreports-xxxjar中。 可以从站点下载此JAR以及必需和可选库(.ZIP文件): JasperReport Library Link 。 从此链接下载最新版本。
ZIP文件包括JasperReports JAR文件以及JasperReports源代码,依赖JAR以及许多演示JasperReport功能的示例。
JasperReport环境
要开始创建报告,我们需要准备好环境。 将下载的JasperReport.ZIP文件解压缩到任何位置(在我们的示例中,我们将其解压缩到C:\tools\jasperreports-5.0.1)。 提取文件的目录结构如下所示 -

这是所有目录的详细信息 -
build - 包含已编译的JasperReport类文件。
demo - 包含各种示例,演示了JasperReports功能的几个方面。
dist - 包含jasperreports-xxxjar文件。 我们将把这个JAR文件添加到CLASSPATH中以利用JasperReports。
docs - 包含JasperReports文档的本地副本。
lib - 包含所有需要的JAR,用于构建JasperReports并在我们的应用程序中使用它。
src - 包含JasperReports源代码。
build.xml - 用于构建JasperReports源代码的ANT构建文件。 如果我们不打算修改JasperReports,我们不需要使用此文件,因为JasperReports是以编译形式分发的。
changes.txt - 一个文本文档,解释了当前和以前版本的JasperReports类库之间的差异。
license.txt - 包含LGPL(较宽松通用公共许可证)许可证全文的文本文档。
readme.txt - 一个文本文档,包含有关如何构建和执行提供的示例的说明。
基本上,我们只使用dist目录下的jasperreports-xxxjar和lib目录下的JAR来生成报告。 由于JasperReports是一个开源工具,如果在jasperreports-xxxjar中执行期间识别出任何缺陷或错误,我们可以使用build.xml文件修复它并再次构建JAR。
设置CLASSPATH
要使用JasperReport,我们需要将以下文件设置为CLASSPATH -
jasperreports-xxxjar,其中xxx是JasperReports版本。 这在目录C:\tools\jasperreports-xxx\dist下找到。
lib子目录下的所有JAR文件(C:\tools\jasperreports-xxx\lib)。
在安装时,我们使用了JasperReport版本5.0.1。 右键单击“我的电脑”并选择“属性”,然后单击“高级”选项卡下的“环境变量”按钮。 现在用这个C:\tools\jasperreports-5.0.1\dist\jasperreports-5.0.1.jar:C:\tools\jasperreports-5.0.1\lib更新'Path'变量C:\tools\jasperreports-5.0.1\dist\jasperreports-5.0.1.jar:C:\tools\jasperreports-5.0.1\lib 。 现在您已准备好创建报告。
在本教程的所有示例中,我们使用ANT任务生成报告。 build文件负责导入所有必需的JAR以生成报告。 因此,如上所述设置CLASSPATH只会帮助那些希望在不使用ANT的情况下生成报告的人。
构建安装程序
本教程中的所有示例 -
使用简单的文本编辑器编写。
已保存在目录C:\tools\jasperreports-5.0.1\test\src\com\xnip下。
已经使用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 = "cn.xnip.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 - 是C:\tools\jasper.dir -5.0.1目录
lib.dir - 是C:\tools\lib.dir -5.0.1\lib目录
src.dir - 是C:\tools\src.dir -5.0.1\test\src
classes.dir - 是C:\tools\jasperreports-5.0.1\test\classes
main-class - cn.xnip.HelpMe。 当没有从命令行传递类文件名时,此类是一个简单的类。 将此文件保存到C:\tools\jasperreports-5.0.1\test\src\com\xnip。
package cn.xnip;
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," + " cn.xnip.HelpMe ");
}
}
贾斯珀管理者课程
有许多类,用于编译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。