JasperReports retorna erro NULL

init: Deleting: D:\chamarRelatorio\build\built-jar.properties deps-jar: Updating property file: D:\chamarRelatorio\build\built-jar.properties compile: run: 21/05/2010 17:20:53 chamarrelatorio.ChamarRelatorioView jButton1ActionPerformed SEVERE: null java.lang.NullPointerException at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601) at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:492) at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:472) at classes.relatorios.gerarTodos(relatorios.java:50) at chamarrelatorio.ChamarRelatorioView.jButton1ActionPerformed(ChamarRelatorioView.java:214) at chamarrelatorio.ChamarRelatorioView.access$800(ChamarRelatorioView.java:26) at chamarrelatorio.ChamarRelatorioView$4.actionPerformed(ChamarRelatorioView.java:127) 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) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6263) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6028) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) CONSTRUÍDO COM SUCESSO (tempo total: 20 segundos)

retorna esse erro acima.
minha classe e função para conectar é esta.

[code]package classes;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;

public class relatorios {

private static Connection getConnection() throws
        ClassNotFoundException, SQLException {
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/locadora";
    String user = "root";
    String password = "";
    Class.forName(driver);
    Connection con = (Connection) DriverManager.getConnection(url, user, password);
    return con;
}



//Ok nao mecher mais
public void gerarTodos() throws JRException, Exception {

     Connection con = getConnection();
    Statement stm = (Statement) con.createStatement();
    String query = "select * from cadastrofilmes";
    ResultSet rs = (ResultSet) stm.executeQuery(query);

    /* implementação da interface JRDataSource para DataSource ResultSet */
    JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);

    /* HashMap de parametros utilizados no relatório. Sempre instanciados */
    Map parametros = new HashMap();

    String patch ="D:/chamarRelatorio/src/relatorios/relatorio.";

    
    /* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
    JasperFillManager.fillReportToFile("D://chamarRelatorio/src/relatorios/relatorio.jasper","D://chamarRelatorio/src/relatorios/relatorio.jrprint", parametros,jrRS);
    /* Exporta para o formato PDF */
    JasperExportManager.exportReportToPdfFile("D://chamarRelatorio/src/relatorios/relatorio.jrprint","D://chamarRelatorio/src/relatorios/relatorio.pdf");


    /* Preenche o relatorio e o salva diretamente em arquivo PDF. Sema necessidade do .jrprint */
    //JasperRunManager.runReportToPdfFile("D://chamarRelatorio/src/relatorios/relatorio.jasper","D://chamarRelatorio/src/relatorios/relatorio.pdf", parametros,jrRS);


    /* Visualiza o relatório em formato PDF */
   // JasperViewer.viewReport("C://Salao3000/src/relatorios/gerarTodosAlunos.jrprint",false, false);
}

}
[/code]

Antes funcionava fazendo isso, mas agora gera esse erro, e não consigo resolver de forma alguma.
HEELPPP

Quando vc Debuga onde gera o erro?

Quando eu executo o debug, não aparece nenhum erro, somente este erro que postei hoje. :frowning:

Quando vc marcar o brakpoint e vai passando pela linhas onde ele para e gera o erro?

Na realidade ele não esta gerando o Jrprint, o arquivo necessario pra gerar o pdf

        JasperFillManager.fillReportToFile("D://chamarRelatorio/src/relatorios/relatorio.jasper","D://chamarRelatorio/src/relatorios/relatorio.jrprint", parametros,jrRS); 

na linha 50 do codigo

possivelmente ele não está encontrando o caminho relatório
tenta criar uma pasta dentro do seu projeto tipo jasper. e coloca o caminho /jasper/relatorio.jasper

Dá uma olhada nesse tópico se pode te ajudar http://www.guj.com.br/posts/list/76922.java

Notei uma coisa, você está chamando os arquivos desta maneira:
D://chamarRelatorio/src/relatorios/relatorio.jasper
talvez n seria:
D://chamarRelatorio//src//relatorios//relatorio.jasper

Mas enfim, se não for isso:

Tente primeiramente gerar o jasperPrint:

JasperPrint jasperPrint = JasperFillManager.fillReportToFile("D://chamarRelatorio//src//relatorios//relatorio.jasper", parametros, jrRS); 

Após ter o JasperPrint efetue a exportacao para o pdf

// create a PDF file  in byte[]
byte bytes[] = JasperExportManager.exportReportToPdf(jasperPrint); 

//ou

// export on disk
JasperExportManager.exportReportToPdfFile(jasperPrint , "c://Relatorio.pdf");  

Ou exporte direto para bytes[]

// Transforma em bytes   
                bytes = JasperRunManager.runReportToPdf(arquivoRelatorio,  
                        parametros,jrRS);  

Obtendo o array de bytes vc consegue gravar no disko, enviar para donwload para o usuário e td mais.

Espero q ajude.

Abraço.

Se todos os posts acima não deram resultados:

Já tive problemas ao mexer com relatórios gerados por um iReport de versão mais recente.

Ao tentar com outro, de versão mais antiga não dava erro nenhum. :S

Acho que pode ser o seu caso, me lembro de ter um erro parecido.