JasperReports - Umgebungs-Setup

JasperReports ist eine reine Java-Bibliothek und keine eigenständige Anwendung. Es kann nicht alleine ausgeführt werden und muss daher in eine andere clientseitige oder serverseitige Java-Anwendung eingebettet werden. Da es Java-basiert ist, kann es auf jeder Plattform ausgeführt werden, die Java unterstützt (JDK 1.3 und höher). Alle Funktionen von JasperReport sind in einer einzigen JAR-Datei, jasperreports-xxxjar, zusammengefasst. Diese JAR kann zusammen mit den erforderlichen und optionalen Bibliotheken (.ZIP-Datei) von der folgenden Website heruntergeladen werden: JasperReport Library Link . Laden Sie die neueste Version von diesem Link herunter.

Die ZIP-Datei enthält die JasperReports-JAR-Datei sowie den JasperReports-Quellcode, abhängige JARs und viele Beispiele, die die Funktionen von JasperReport demonstrieren.

JasperReport-Umgebung

Um mit der Erstellung der Berichte zu beginnen, müssen wir die Umgebung einrichten. Extrahieren Sie die heruntergeladene JasperReport.ZIP-Datei an einen beliebigen Speicherort (in unserem Fall haben wir sie nach C: \ tools \ jasperreports-5.0.1 extrahiert). Die Verzeichnisstruktur der extrahierten Datei ist dieselbe wie unten gezeigt -

Hier ist das Detail aller Verzeichnisse -

  • build - Enthält die kompilierten JasperReport-Klassendateien.

  • Demo - Enthält verschiedene Beispiele, die verschiedene Aspekte der JasperReports-Funktionalität demonstrieren.

  • dist - Enthält die Datei jasperreports-xxxjar. Wir werden diese JAR-Datei zu unserem CLASSPATH hinzufügen, um JasperReports zu nutzen.

  • docs - Enthält eine lokale Kopie der JasperReports-Dokumentation.

  • lib - Enthält alle JARs, die zum Erstellen von JasperReports und zur Verwendung in unseren Anwendungen benötigt werden.

  • src - Enthält den JasperReports-Quellcode.

  • build.xml - Eine ANT- Builddatei zum Erstellen des JasperReports-Quellcodes. Wenn wir JasperReports nicht ändern möchten, müssen wir diese Datei nicht verwenden, da JasperReports in der kompilierten Form verteilt wird.

  • change.txt - Ein Textdokument, in dem die Unterschiede zwischen der aktuellen und der vorherigen Version der JasperReports-Klassenbibliothek erläutert werden.

  • license.txt - Ein Textdokument, das den vollständigen Text der LGPL-Lizenz (Lesser General Public License) enthält.

  • readme.txt - Ein Textdokument mit Anweisungen zum Erstellen und Ausführen der bereitgestellten Beispiele.

Grundsätzlich verwenden wir nur jasperreports-xxxjar unter dist und JARs unter lib, um Berichte zu erstellen. Da JasperReports ein Open-Source-Tool ist, können wir, wenn während der Ausführung in jasperreports-xxxjar ein Defekt oder Fehler erkannt wird, diesen beheben und die JAR mithilfe der Datei build.xml erneut erstellen.

Stellen Sie den KLASSENPFAD ein

Um JasperReport verwenden zu können, müssen wir die folgenden Dateien auf unseren CLASSPATH setzen -

  • jasperreports-xxxjar, wobei xxx die JasperReports-Version ist. Dies befindet sich im Verzeichnis C: \ tools \ jasperreports-xxx \ dist).

  • Alle JAR-Dateien im Unterverzeichnis lib (C: \ tools \ jasperreports-xxx \ lib).

Zum Zeitpunkt der Installation haben wir JasperReport Version 5.0.1 verwendet. Klicken Sie mit der rechten Maustaste auf "Arbeitsplatz" und wählen Sie "Eigenschaften". Klicken Sie auf der Registerkarte "Erweitert" auf die Schaltfläche "Umgebungsvariablen". Aktualisieren Sie nun die Variable 'Path' damitC:\tools\jasperreports-5.0.1\dist\jasperreports-5.0.1.jar:C:\tools\jasperreports-5.0.1\lib. Jetzt können Sie Ihre Berichte erstellen.

In allen Beispielen in diesem Lernprogramm haben wir ANT-Aufgaben zum Generieren von Berichten verwendet. Dasbuildfile kümmert sich um den Import aller erforderlichen JARs zum Generieren von Berichten. Daher hilft das Festlegen von CLASSPATH wie oben erwähnt nur denjenigen, die Berichte ohne Verwendung von ANT erstellen möchten.

Build Setup

Alle Beispiele in diesem Tutorial -

  • wurden mit einem einfachen Texteditor geschrieben.

  • wurden im Verzeichnis C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint gespeichert.

  • wurden an der Eingabeaufforderung mit Apache ANT kompiliert und ausgeführt. Wir werden eine verwendenbaseBuild.xml Datei, die wir in ANT importieren werden build.xmlDatei in den folgenden Kapiteln. Speichern Sie diese Datei unter C: \ tools \ jasperreports-5.0.1 \ test. Es folgt der Inhalt der Datei 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>

Diese Datei enthält alle erforderlichen Ziele, z. B. das Bereinigen der Verzeichnisse, das Kompilieren der Java-Dateien und das Ausführen der Klassendateien.

Im Folgenden sind die Details aufgeführt, die von verschiedenen Verzeichnissen in baseBuild.xml erwähnt werden. Angenommen, das aktuelle Verzeichnis lautet C: \ tools \ jasperreports-5.0.1 \ test) -

  • jasper.dir - ist das Verzeichnis C: \ tools \ jasperreports-5.0.1

  • lib.dir - ist das Verzeichnis C: \ tools \ jasperreports-5.0.1 \ lib

  • src.dir - ist C: \ tools \ jasperreports-5.0.1 \ test \ src

  • classes.dir - ist C: \ tools \ jasperreports-5.0.1 \ test \ classes

  • Hauptklasse - com.tutorialspoint.HelpMe. Diese Klasse ist eine einfache Klasse, die ausgeführt wird, wenn kein Klassendateiname über die Befehlszeile übergeben wird. Speichern Sie diese Datei unter C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint.

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 Manager Klassen

Es gibt eine Reihe von Klassen, die zum Kompilieren eines JRXML-Berichtsdesigns, zum Füllen eines Berichts, zum Drucken eines Berichts, zum Exportieren in PDF-, HTML- und XML-Dateien, zum Anzeigen der generierten Berichte und zum Berichtsdesign verwendet werden.

Die Liste dieser Klassen ist -

  • net.sf.jasperreports.engine.JasperCompileManager - Wird zum Kompilieren einer JRXML-Berichtsvorlage verwendet.

  • net.sf.jasperreports.engine.JasperFillManager - Wird verwendet, um einen Bericht mit Daten aus der Datenquelle zu füllen.

  • net.sf.jasperreports.engine.JasperPrintManager - Wird zum Drucken der von der JasperReports-Bibliothek generierten Dokumente verwendet.

  • net.sf.jasperreports.engine.JasperExportManager - Wird verwendet, um PDF-, HTML- oder XML-Inhalte für die Dokumente abzurufen, die beim Ausfüllen von Berichten erstellt wurden.

  • net.sf.jasperreports.view.JasperViewer - Es handelt sich um eine einfache Java Swing-Anwendung, mit der Berichte geladen und angezeigt werden können.

  • net.sf.jasperreports.view.JasperDesignViewer - Wird zur Entwurfszeit verwendet, um eine Vorschau der Berichtsvorlagen anzuzeigen.

Einrichten von Apache ANT

Wir werden alle Beispiele mit Apache ANT erstellen. Lesen Sie daher bitte das Kapitel ANT - Environment Setup, um Apache ANT auf Ihrem System einzurichten.