JasperReports - Configurazione dell'ambiente
JasperReports è una libreria Java pura e non un'applicazione standalone. Non può funzionare da solo, quindi deve essere incorporato in un altro client o in un'applicazione Java lato server. Poiché è basato su Java, può essere eseguito su qualsiasi piattaforma che supporti Java (JDK 1.3 e versioni successive). Tutte le funzionalità di JasperReport sono raccolte in un unico file JAR, jasperreports-xxxjar. Questo JAR insieme alle librerie obbligatorie e facoltative (file .ZIP) può essere scaricato dal sito: JasperReport Library Link . Scarica l'ultima versione da questo link.
Il file ZIP include il file JAR JasperReports insieme al codice sorgente JasperReports, JAR dipendenti e molti esempi che dimostrano le funzionalità di JasperReport.
JasperReport Environment
Per iniziare a creare i rapporti, è necessario configurare l'ambiente pronto. Estrai il file JasperReport.ZIP scaricato in qualsiasi posizione (nel nostro caso, lo abbiamo estratto in C: \ tools \ jasperreports-5.0.1). La struttura della directory del file estratto è la stessa mostrata di seguito:
Ecco il dettaglio di tutte le directory -
build - Contiene i file di classe JasperReport compilati.
demo - Contiene vari esempi, che dimostrano diversi aspetti della funzionalità JasperReports.
dist - Contiene il file jasperreports-xxxjar. Aggiungeremo questo file JAR al nostro CLASSPATH per sfruttare JasperReports.
docs - Contiene una copia locale della documentazione di JasperReports.
lib - Contiene tutti i JAR necessari, sia per creare JasperReports che per usarlo nelle nostre applicazioni.
src - Contiene il codice sorgente JasperReports.
build.xml - Un file di build ANT per creare il codice sorgente JasperReports. Se non intendiamo modificare JasperReports, non è necessario utilizzare questo file poiché JasperReports è distribuito nella forma compilata.
changes.txt - Un documento di testo, che spiega le differenze tra la versione corrente e quella precedente della libreria di classi JasperReports.
license.txt - Un documento di testo che contiene il testo completo della licenza LGPL (Lesser General Public License).
readme.txt - Un documento di testo, contenente istruzioni su come costruire ed eseguire gli esempi forniti.
Fondamentalmente, utilizziamo solo jasperreports-xxxjar sotto il dist e JARs nella directory lib per la generazione dei rapporti. Poiché JasperReports è uno strumento open source, se viene rilevato un difetto o un bug durante l'esecuzione in jasperreports-xxxjar, possiamo correggerlo e creare nuovamente il JAR utilizzando il file build.xml.
Imposta il CLASSPATH
Per utilizzare JasperReport, dobbiamo impostare i seguenti file sul nostro CLASSPATH -
jasperreports-xxxjar, dove xxx è la versione di JasperReports. Questo si trova nella directory C: \ tools \ jasperreports-xxx \ dist).
Tutti i file JAR nella sottodirectory lib (C: \ tools \ jasperreports-xxx \ lib).
Al momento dell'installazione, abbiamo utilizzato JasperReport versione 5.0.1. Fare clic con il pulsante destro del mouse su "Risorse del computer" e selezionare "Proprietà", fare clic sul pulsante "Variabili di ambiente" nella scheda "Avanzate". Ora aggiorna la variabile "Path" con questoC:\tools\jasperreports-5.0.1\dist\jasperreports-5.0.1.jar:C:\tools\jasperreports-5.0.1\lib. Ora sei pronto per creare i tuoi rapporti.
In tutti gli esempi di questo tutorial, abbiamo utilizzato attività ANT per generare report. Ilbuildfile si occupa di importare tutti i JAR richiesti per la generazione dei report. Quindi, l'impostazione di CLASSPATH come menzionato sopra aiuterà solo coloro che desiderano generare report senza utilizzare ANT.
Configurazione build
Tutti gli esempi in questo tutorial -
sono stati scritti utilizzando un semplice editor di testo.
sono stati salvati nella directory C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint.
sono stati compilati ed eseguiti dal prompt dei comandi, utilizzando Apache ANT. Useremo un filebaseBuild.xml file, che importeremo in ANT build.xmlfile nei capitoli successivi. Salva questo file in C: \ tools \ jasperreports-5.0.1 \ test. Di seguito è riportato il contenuto del file 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>
Questo file ha tutte le destinazioni richieste, come la pulizia delle directory, la compilazione dei file java e l'esecuzione dei file di classe.
Di seguito sono riportati i dettagli, menzionati da varie directory in baseBuild.xml. Supponendo che la directory corrente sia C: \ tools \ jasperreports-5.0.1 \ test) -
jasper.dir - è la directory C: \ tools \ jasperreports-5.0.1
lib.dir - è la directory C: \ tools \ jasperreports-5.0.1 \ lib
src.dir - è C: \ tools \ jasperreports-5.0.1 \ test \ src
classes.dir - è C: \ tools \ jasperreports-5.0.1 \ test \ classes
main-class - com.tutorialspoint.HelpMe. Questa classe è una classe semplice eseguita, quando nessun nome file di classe viene passato dalla riga di comando. Salva questo file in 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 Managers Classes
Esistono numerose classi, che verranno utilizzate per compilare un progetto di report JRXML, per compilare un report, per stampare un report, per esportare in file PDF, HTML e XML, visualizzare i report generati e per il design del report.
L'elenco di queste classi è:
net.sf.jasperreports.engine.JasperCompileManager: utilizzato per compilare un modello di rapporto JRXML.
net.sf.jasperreports.engine.JasperFillManager: utilizzato per compilare un report con i dati dell'origine dati.
net.sf.jasperreports.engine.JasperPrintManager - Utilizzato per stampare i documenti generati dalla libreria JasperReports.
net.sf.jasperreports.engine.JasperExportManager: utilizzato per ottenere contenuto PDF, HTML o XML per i documenti prodotti dal processo di compilazione del report.
net.sf.jasperreports.view.JasperViewer - Rappresenta una semplice applicazione Java Swing, che può caricare e visualizzare report.
net.sf.jasperreports.view.JasperDesignViewer: utilizzato in fase di progettazione per visualizzare in anteprima i modelli di report.
Configurazione di Apache ANT
Costruiremo tutti gli esempi usando Apache ANT. Quindi, controlla gentilmente il capitolo ANT - Configurazione dell'ambiente per configurare Apache ANT sul tuo sistema.