Aviso para as crianças no iReport / Jasper Report

olá pessoal, normalmente quando estamos aprendendo a gerar relatório no ireport criamos
um relatorio que não contem informações dinâmicas e rodamos a aplicação para se ter pelo
menos um relatorio em branco. Um dos erros mais comuns é: “o ducumento não contem páginas”.
Passei por isso e resolvi da seguinte forma:
ao inves de usar o método JasperPrint "jasperPrint = JasperFillManager.fillReport(reportJasper, params);"
que recebe 2 parâmetros usei o "JasperPrint jasperPrint = JasperFillManager.fillReport(reportJasper, params, jrBean);"
que recebe 3 parâmetros, considero isso um bug, mas posso está errado, mas vejam como ficou o codigo correto:

package relatoriodesktop;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
//import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;

/**
*

  • @author Harley
    */
    public class Main {

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      // TODO code application logic here

      String reportSource = “C:/relatorios/FuncionarioReport.jrxml”;
      String reportDest = “C:/relatorios/FuncionarioReport.html”;
      String reportJasper = “C:/relatorios/FuncionarioReport.jasper”;
      Map<String, Object> params = new HashMap<String, Object>();

      try {
      JOptionPane.showMessageDialog(null, “ponto 1”);
      // JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);

       List&lt;Cliente&gt; clientList = new ArrayList&lt;Cliente&gt;();
      
       Cliente cliente1 = new Cliente();
       cliente1.setNome("LEANDRO");
       cliente1.setFilhos(new Integer(3));
      
       Cliente cliente2 = new Cliente();
       cliente2.setNome("FABIANA");
       cliente2.setFilhos(new Integer(7));
      
       Cliente cliente3 = new Cliente();
       cliente3.setNome("JOÃO");
       cliente3.setFilhos(new Integer(1));
      
       clientList.add(cliente1);
       clientList.add(cliente2);
       clientList.add(cliente3);
       JRBeanCollectionDataSource jrBean = new JRBeanCollectionDataSource(clientList);
      
      
      
       JasperPrint jasperPrint = JasperFillManager.fillReport(reportJasper, params, jrBean);
       JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);
       JasperViewer.viewReport(jasperPrint);
      

      } catch (JRException e) {
      e.printStackTrace();
      }
      }
      }

observação: estou pegando um arquivo jasper, que é um arquivo de ralatório já compilado, que uma vez gerado pelo netbeans copiei para c:/relatorios.

vlw galera!