Problema na hora de gerar Relatório

2 respostas
J

Estou com problema na hora de chamar o relatorio, ja fiz vario deles mas esse estou quebrando a cabeça;
parte do metodo, estou chamando pelo resultset.

InputStream input =  getClassLoader().getResource(arquivo).openStream();
    JasperPrint print;
    
    if(data != null)
        print = JasperFillManager.fillReport(input, parametros, data); -----> [size=18][b]Esta dando o erro na hora dessa chamada;[/b][/size]
    else
        print = JasperFillManager.fillReport(input, parametros,getConexao());
Erro que esta dando

java.lang.NullPointerException

at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)

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

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

at kuluene.relatorios.GeraRelatorios.gerar(GeraRelatorios.java:132)

at kuluene.relatorios.GeraRelatorios.geraRelatorio(GeraRelatorios.java:86)

at kuluene.relatorios.kresidencia.RelatorioApClientes.gerarPadrao(RelatorioApClientes.java:127)

at kuluene.relatorios.kresidencia.RelatorioApClientes.gerar(RelatorioApClientes.java:78)

at kuluene.relatorios.PainelGeraRelatorio.btGerarActionPerformed(PainelGeraRelatorio.java:225)

at kuluene.relatorios.PainelGeraRelatorio.access$100(PainelGeraRelatorio.java:18)

at kuluene.relatorios.PainelGeraRelatorio$2.actionPerformed(PainelGeraRelatorio.java:134)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

Desde ja agradeço a atenção.

2 Respostas

EugenioMonteiro

Eu uso o método fillReport desta maneira:

JasperPrint impressao = JasperFillManager.fillReport("c:/relatorio_teste.jasper", parametros, this.con);

Ou seja o primeiro parâmetro é o caminho do arquivo compilado do relatório.

cristian_clever

Bom dia! Eu implemnto dessa forma

InputStream in = ClassLoader.getSystemClassLoader().getClass().getResourceAsStream(getReportFullPath());

No caso o metodo getReportFullPath é implementado da seguinte forma(é um recurso dentro da aplicação, que acredito que é o seu caso):

protected String getReportFullPath() {
		return "/com/sample/ebmbundleeditor/report/BundleReport.jasper";

	}
Criado 18 de setembro de 2009
Ultima resposta 18 de set. de 2009
Respostas 2
Participantes 3