JasperReports só tenho dúvidas!

3 respostas
S

Estou tentando fazer um relatório em java e criei esta classe:

import net.sf.jasperreports.engine.data.JRXmlDataSource;

import net.sf.jasperreports.engine.export.JRPdfExporter;

import net.sf.jasperreports.engine.*;

import java.util.HashMap;

public class Relatorio {

public static void main(String[] args) throws Exception {

              String reportFileName = "/addressbook.jasper";
              String outFileName = "/addressbook.pdf";
              String xmlFileName = "/addressbook.xml";
              String recordPath = "/Northwind/Customers";

              JRXmlDataSource jrxmlds = new JRXmlDataSource(xmlFileName,recordPath);

      HashMap hm = new HashMap();

      try
      {
          JasperPrint print = JasperFillManager.fillReport(
                      reportFileName,
                      hm,
                      jrxmlds);

          JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();

          exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,outFileName);
                  exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);

                  exporter.exportReport();
                  System.out.println("Created file: " + outFileName);
      }
      catch (JRException e)
      {
          e.printStackTrace();
          System.exit(1);
      }
      catch (Exception e)
      {
          e.printStackTrace();
          System.exit(1);
      }

  }

}

ela compila corretamente mas quando executo ela apresenta a mensagem abaixo:

C:\j2sdk1.4.2_08\bin\java.exe  -classpath C:\j2sdk1.4.2_08\jre\lib\rt.jar;C:\j2sdk1.4.2_08\lib\tools.jar;C:\j2sdk1.4.2_08\jasperreports-0.6.6.jar;E: Relatorio

java.io.FileNotFoundException: \addressbook.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:74)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:343)

at Relatorio.main(Relatorio.java:22)
NESTED BY :

java.io.FileNotFoundException: \addressbook.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:74)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:343)

at Relatorio.main(Relatorio.java:22)
NESTED BY :

net.sf.jasperreports.engine.JRException: \addressbook.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:74)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:343)

at Relatorio.main(Relatorio.java:22)

Caused by: java.io.FileNotFoundException: \addressbook.jasper

 3 more

Finished executing

GOSTARIA DE SABER O QUE ESTÁ ACONTECENDO. PQ ELE NAUM GERA O RELATÓRIO EM PDF???

3 Respostas

danieldestro

Ele não está achando o arquivo addressbook.jasper.

S

MODIFIQUEI O QUE SE REFERIA AO ARQUIVO NAO ENCONTRADO, MAS NÃO FUINCIONOU NADA E APRESENTOU O ERRO ABAIXO:

Nosso código:

import java.io.BufferedInputStream;

import java.io.File;

import java.io.FileInputStream;
import net.sf.jasperreports.engine.data.<em>;

import net.sf.jasperreports.engine.util.</em>;

import net.sf.jasperreports.engine.export.<em>;

import net.sf.jasperreports.engine.</em>;

import java.util.HashMap;

public class Relatorio {

public static void main(String[] args) throws Exception {

String reportFileName = “addressbook.jasper”;
String outFileName = “addressbook.pdf”;

JRXmlDataSource jrxmlds = new JRXmlDataSource(new
BufferedInputStream(new
FileInputStream(“bd.xml”)
),"/Northwind/Customers");

HashMap hm = new HashMap();

try

{

JasperPrint print =

JasperFillManager.fillReport(reportFileName,hm,jrxmlds);

JRExporter exporter = new
net.sf.jasperreports.engine.export.JRPdfExporter();

exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,outFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);

exporter.exportReport();

System.out.println("Created file: " + outFileName);

}

catch (JRException e)

{

e.printStackTrace();

System.exit(1);

}

catch (Exception e)

{

e.printStackTrace();

System.exit(1);

}

}

}


…::::::::::::::roblema apresentado:::::::::::::::…

C:\j2sdk1.4.2_08\bin\java.exe -classpath

C:\j2sdk1.4.2_08\jre\lib\rt.jar;C:\j2sdk1.4.2_08\lib\tools.jar;C:\j2sdk1.4.2_08\jasperreports-0.6.6.jar;C:\j2sdk1.4.2_08\jdom.jar;E:\relatorio

Relatorio

org.xml.sax.SAXParseException: Document root element is missing.

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3364)

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:66

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)

at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:44

at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)

at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:24

at net.sf.jasperreports.engine.data.JRXmlDataSource.(JRXmlDataSource.java:197)

at Relatorio.main(Relatorio.java:19)
NESTED BY :

org.xml.sax.SAXParseException: Document root element is missing.

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3364)

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:66

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:44

at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)

at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:24

at net.sf.jasperreports.engine.data.JRXmlDataSource.(JRXmlDataSource.java:197)

at Relatorio.main(Relatorio.java:19)
NESTED BY :

net.sf.jasperreports.engine.JRException: Failed to parse the xml document

at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:250)

at net.sf.jasperreports.engine.data.JRXmlDataSource.(JRXmlDataSource.java:197)

at Relatorio.main(Relatorio.java:19)

Caused by: org.xml.sax.SAXParseException: Document root element is missing.

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3364)

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:66

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)

at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:44

at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)
at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:24
… 2 more
Exception in thread “main” Finished executing

O QUE FAÇO AGORA???

abstract

O primeiro passo a se fazer é desligar o caps lock, depois tente fazer o mais simples gerar um relatório de acordo com o que já escrevi que é bem básico, e você pode encontrar aqui:

http://www.j2b.com.br/abstract/index.php?op=ViewArticle&articleId=7&blogId=1

svinter:
MODIFIQUEI O QUE SE REFERIA AO ARQUIVO NAO ENCONTRADO, MAS NÃO FUINCIONOU NADA E APRESENTOU O ERRO ABAIXO:

Nosso código:

import java.io.BufferedInputStream;

import java.io.File;

import java.io.FileInputStream;
import net.sf.jasperreports.engine.data.<em>;

import net.sf.jasperreports.engine.util.</em>;

import net.sf.jasperreports.engine.export.<em>;

import net.sf.jasperreports.engine.</em>;

import java.util.HashMap;

public class Relatorio {

public static void main(String[] args) throws Exception {

String reportFileName = “addressbook.jasper”;
String outFileName = “addressbook.pdf”;

JRXmlDataSource jrxmlds = new JRXmlDataSource(new
BufferedInputStream(new
FileInputStream(“bd.xml”)
),"/Northwind/Customers");

HashMap hm = new HashMap();

try

{

JasperPrint print =

JasperFillManager.fillReport(reportFileName,hm,jrxmlds);

JRExporter exporter = new
net.sf.jasperreports.engine.export.JRPdfExporter();

exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,outFileName);
exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);

exporter.exportReport();

System.out.println("Created file: " + outFileName);

}

catch (JRException e)

{

e.printStackTrace();

System.exit(1);

}

catch (Exception e)

{

e.printStackTrace();

System.exit(1);

}

}

}


…::::::::::::::roblema apresentado:::::::::::::::…

C:\j2sdk1.4.2_08\bin\java.exe -classpath

C:\j2sdk1.4.2_08\jre\lib\rt.jar;C:\j2sdk1.4.2_08\lib\tools.jar;C:\j2sdk1.4.2_08\jasperreports-0.6.6.jar;C:\j2sdk1.4.2_08\jdom.jar;E:\relatorio

Relatorio

org.xml.sax.SAXParseException: Document root element is missing.

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3364)

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:66

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)

at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:44

at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)

at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:24

at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:197)

at Relatorio.main(Relatorio.java:19)
NESTED BY :

org.xml.sax.SAXParseException: Document root element is missing.

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3364)

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:66

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:44

at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)

at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:24

at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:197)

at Relatorio.main(Relatorio.java:19)
NESTED BY :

net.sf.jasperreports.engine.JRException: Failed to parse the xml document

at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:250)

at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:197)

at Relatorio.main(Relatorio.java:19)

Caused by: org.xml.sax.SAXParseException: Document root element is missing.

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3376)

at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3364)

at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:66

at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)

at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:44

at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:185)
at net.sf.jasperreports.engine.data.JRXmlDataSource.parse(JRXmlDataSource.java:24
… 2 more
Exception in thread “main” Finished executing

O QUE FAÇO AGORA???

Criado 8 de maio de 2005
Ultima resposta 10 de mai. de 2005
Respostas 3
Participantes 3