[RESOLVIDO]AJUDA IREPORT ERRO - Class not found when loading object from file.rtf

Pessoal bom dia a todos,
Preciso fazer um select no banco quando o usuário clicar e um botão, o resultado exibir em relatório, estou usando o iReport-1.3.1
segue abaixo o código que estou usando:

minha classe de conexão com o banco:

[code]package Telas;

import java.sql.*;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class conexao1 {
final private String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
//final private String url = “jdbc:odbc:AgendaNetBeans”;
final private String url = “jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}” +
“;DBQ=c:/Despesa”;

 private Connection conexao;
 public Statement statement;
 public ResultSet resultset;

 public boolean Conecta(){
     boolean result = true;
   try{
        Class.forName(driver);//Carrega o driver
        conexao = DriverManager.getConnection(url);//Estabelece a conexão //
       }catch(ClassNotFoundException Driver){
           JOptionPane.showMessageDialog(null,"Driver não localizado" + Driver);
          result = false;
       }
        catch(SQLException Fonte){
            JOptionPane.showMessageDialog(null,"Deu erro na conexão com " +
                    "a fonte de Dados" + Fonte);
           result = false;
        }
     return result;
 }
 public void execulteSQL(String sql){
     try
   {
         statement = conexao.createStatement(
         ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
         resultset = statement.executeQuery(sql);
    }catch(SQLException sqlex){
     JOptionPane.showMessageDialog(null,"Não foi possivel "  +
           "execultar o comando sql, " + sqlex + " o sql passado foi" + sql);
}
}

Object get(int selectedRow) {
    throw new UnsupportedOperationException("Not yet implemented");
}

}

classe responsável pelo relatorio

public class relatorio {
Conexao conecta = new Conexao();
public relatorio(){

 try{
        conecta.conecta();
        conecta.execulteSQL("SELECT * FROM Despesas");

            JRResultSetDataSource jrSR = new JRResultSetDataSource(conecta.resultset);
            JasperPrint jasperPrint =  JasperFillManager.fillReport(
       "c:/Arquivos de programas/relatorio/despesas.jasper", new HashMap(),jrSR);
            JasperViewer jrv = new JasperViewer(jasperPrint,false);
            jrv.setVisible(true);
    }catch(Exception erro){
            JOptionPane.showMessageDialog(null,"Relatório não encontrado: \n" +
             "" + erro, "ATENÇÂO",JOptionPane.ERROR_MESSAGE);
    }
}

}
private void btConsultaActionPerformed(java.awt.event.ActionEvent evt) {
//exibe o relatório
new relatorio.relatorio();

}[/code]Porém quando clico no botão consultar, o sistema me dá o seguinte erro:
net.sf.jasperreports.egine.JRException:Class not found when loading object from file: c:\Arquivos de programas\relatorio\despesas.jasper

Alguém pode me ajuda por favor, agradeço

Olá

Eu aconselho o seguinte:

-Atualize o seu iReport, ele ja está na versão 3.7.6, bem longe dessa que você está usando ^^

-No próprio iReport tem o local onde você faz a pesquisa, da pra trabalhar usando o banco só com o iReport, sem fazer tudo isso via código, é mais viável.

Dica: Estude mais sobre o iReport, ele possui várias ferramentas que vão te poupar centenas de linhas de códigos.

Pra você ter idéia, eu crio um relatório desse só com o iReport e menos de 10 linhas de código java.

Procure e baixe na net uma video aula de IReport da empresa T2ti ( joga la no google ^.^ ) concerteza você vai aprender tudo o que precisa sobre iReport.

Ok obrigado pela dica, vou atualiza ele e quando o problema for solucionado eu coloco o tópico como resolvido.
obrigado

Pessoal consegui resolver este problema,
é só copias os jars: commons-collections-2.1.jar e commons-logging-1.0.2.jar
para a pasta do projeto.

Agradeço pela atençao de todos

1 curtida