JasperReports - Configuração de ambiente

JasperReports é uma biblioteca Java pura e não um aplicativo independente. Ele não pode ser executado sozinho, portanto, precisa ser integrado a outro aplicativo Java do lado do cliente ou servidor. Por ser baseado em Java, pode ser executado em qualquer plataforma que suporte Java (JDK 1.3 e superior). Todas as funcionalidades do JasperReport estão reunidas em um único arquivo JAR, jasperreports-xxxjar. Este JAR juntamente com as bibliotecas necessárias e opcionais (arquivo .ZIP) pode ser baixado a partir do site: JasperReport Link Library . Baixe a versão mais recente deste link.

O arquivo ZIP inclui o arquivo JasperReports JAR junto com o código-fonte JasperReports, JARs dependentes e muitos exemplos que demonstram as funcionalidades do JasperReport.

Ambiente JasperReport

Para começar a criar os relatórios, precisamos configurar o ambiente pronto. Extraia o arquivo JasperReport.ZIP baixado para qualquer local (em nosso caso, nós o extraímos para C: \ tools \ jasperreports-5.0.1). A estrutura do diretório do arquivo extraído é a mesma mostrada abaixo -

Aqui estão os detalhes de todos os diretórios -

  • build - Contém os arquivos de classe JasperReport compilados.

  • demo - Contém vários exemplos, demonstrando vários aspectos da funcionalidade JasperReports.

  • dist - Contém o arquivo jasperreports-xxxjar. Devemos adicionar este arquivo JAR ao nosso CLASSPATH para aproveitar as vantagens do JasperReports.

  • docs - contém uma cópia local da documentação JasperReports.

  • lib - Contém todos os JARs necessários, tanto para construir JasperReports quanto para usá-lo em nossos aplicativos.

  • src - contém o código-fonte JasperReports.

  • build.xml - Um arquivo de construção ANT para construir o código-fonte JasperReports. Se não tivermos a intenção de modificar JasperReports, não precisamos usar esse arquivo, pois JasperReports é distribuído na forma compilada.

  • changes.txt - Um documento de texto, explicando as diferenças entre as versões atual e anterior da biblioteca de classes JasperReports.

  • license.txt - Um documento de texto que contém o texto completo da licença LGPL (Lesser General Public License).

  • readme.txt - Um documento de texto, contendo instruções sobre como construir e executar os exemplos fornecidos.

Basicamente, usamos apenas jasperreports-xxxjar no dist e JARs no diretório lib para gerar relatórios. Como JasperReports é uma ferramenta de código aberto, se algum defeito ou bug for reconhecido durante a execução no jasperreports-xxxjar, podemos corrigi-lo e construir o JAR novamente usando o arquivo build.xml.

Defina o CLASSPATH

Para usar JasperReport, precisamos definir os seguintes arquivos para nosso CLASSPATH -

  • jasperreports-xxxjar, em que xxx é a versão JasperReports. Encontrado no diretório C: \ tools \ jasperreports-xxx \ dist).

  • Todos os arquivos JAR no subdiretório lib (C: \ tools \ jasperreports-xxx \ lib).

No momento da instalação, usamos o JasperReport versão 5.0.1. Clique com o botão direito em 'Meu computador' e selecione 'Propriedades', clique no botão 'Variáveis ​​de ambiente' na guia 'Avançado'. Agora atualize a variável 'Path' com esteC:\tools\jasperreports-5.0.1\dist\jasperreports-5.0.1.jar:C:\tools\jasperreports-5.0.1\lib. Agora você está pronto para criar seus relatórios.

Em todos os exemplos neste tutorial, usamos tarefas ANT para gerar relatórios. obuildarquivo se encarrega de importar todos os JARs necessários para a geração de relatórios. Portanto, definir CLASSPATH como mencionado acima só ajudará aqueles que desejam gerar relatórios sem usar ANT.

Configuração da compilação

Todos os exemplos neste tutorial -

  • foram escritos usando o Editor de texto simples.

  • foram salvos no diretório C: \ tools \ jasperreports-5.0.1 \ test \ src \ com \ tutorialspoint.

  • foram compilados e executados a partir do prompt de comando, usando Apache ANT. Vamos usar umbaseBuild.xml arquivo, que iremos importar na ANT build.xmlarquivo nos capítulos subsequentes. Salve este arquivo em C: \ tools \ jasperreports-5.0.1 \ test. A seguir está o conteúdo do arquivo 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>

Este arquivo possui todos os alvos necessários, como limpar os diretórios, compilar os arquivos java e executar os arquivos de classe.

A seguir estão os detalhes, mencionados por vários diretórios em baseBuild.xml. Supondo que o diretório atual seja C: \ tools \ jasperreports-5.0.1 \ test) -

  • jasper.dir - é o diretório C: \ tools \ jasperreports-5.0.1

  • lib.dir - é o diretório 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

  • classe principal - com.tutorialspoint.HelpMe. Esta classe é uma classe simples executada, quando nenhum nome de arquivo de classe é passado da linha de comando. Salve este arquivo em 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

Existem várias classes que serão usadas para compilar um design de relatório JRXML, para preencher um relatório, para imprimir um relatório, para exportar para arquivos PDF, HTML e XML, visualizar os relatórios gerados e design de relatório.

A lista dessas classes é -

  • net.sf.jasperreports.engine.JasperCompileManager - usado para compilar um modelo de relatório JRXML.

  • net.sf.jasperreports.engine.JasperFillManager - usado para preencher um relatório com dados da fonte de dados.

  • net.sf.jasperreports.engine.JasperPrintManager - usado para imprimir os documentos gerados pela biblioteca JasperReports.

  • net.sf.jasperreports.engine.JasperExportManager - usado para obter conteúdo PDF, HTML ou XML para os documentos produzidos pelo processo de preenchimento de relatório.

  • net.sf.jasperreports.view.JasperViewer - Ele representa um aplicativo Java Swing simples, que pode carregar e exibir relatórios.

  • net.sf.jasperreports.view.JasperDesignViewer - Usado em tempo de design para visualizar os modelos de relatório.

Configurando Apache ANT

Vamos construir todos os exemplos usando Apache ANT. Portanto, consulte o capítulo ANT - Configuração do Ambiente para configurar o Apache ANT em seu sistema.