Erro com jasperreport e netbeans

5 respostas
madsen

Olá pessoal, estou com um problema para executar relatórios na minhas aplicação local (swing) que fiz no netbeans, coloquei o seguinte código quando seleciona um item do menu:

private void jMenuItem12ActionPerformed(java.awt.event.ActionEvent evt) {                                            
       
        
        try {
            String arq="/usr/local/iReport-1.2.8/bin/ListagemFuncionarios.jasper";
            
            Statement stm = conexao.createStatement( );
            String query = "select * from funcionarios "; 
            ResultSet rs = stm.executeQuery( query );
            
            JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
            
            Map parameters = new HashMap(); 
             
            JasperFillManager.fillReportToFile( arq, parameters, jrRS );
        
            
            JasperExportManager.exportReportToPdfFile( "ListagemFuncionarios.jrprint" );
            
            JasperViewer.viewReport( "ListagemFuncionarios.pdf", false );
        }
        catch (SQLException e) { 
            System.out.println ("ERRO SQL");
        }
        catch (JRException e) { 
            System.out.println ("Relatório NÃO FUNCIONA: "+e.getMessage());
        }

                
                
    }

Adicionei no meu projeto o jar ?jasperreports-1.2.8.jar? todos os imports estão ok, o projeto compila sem problemas, mas quando vou executar o relatório cai no ? catch (JRException e)? com o seguinte erro: ?Class not found when loading object from file : /usr/local/iReport-1.2.8/bin/ListagemFuncionarios.jasper?.

Não sei se influencia, mas user o ireport 1.2.8 tb para gerar o jasper.

Valeu! :)

5 Respostas

aleck

Tente obter seu arquivo desta maneira:

InputStream is = getClass().getResourceAsStream("/usr/local/iReport-1.2.8/bin/ListagemFuncionarios.jasper");
madsen

Poir que não funcionou …

em
JasperFillManager.fillReportToFile( arq, parameters, jrRS );

No caso o parâmetro arq no caso tem de ser um objeto String mesmo.

Mas valeu pela força.
:smiley:

aleck

Bem, esta outra maneira que te passei de carregar o .jasper requer umas modificações no código, como a mudança do método para fillReport apenas entre outras, depois recomendo que você busque sobre o assunto.

Quanto ao seu problema, voltando ao básico, verifique se todos os jars que o jasper necessita estão no classpath, como itext, digester, entre outros.

http://jasperforge.org/sf/wiki/do/viewPage/projects.jasperreports/wiki/Requirements

RenataFA

Amigo, a msg de erro que passou não está completa:

“Class not found when loading object from file : /usr/local/iReport-1.2.8/bin/ListagemFuncionarios.jasper …”

Depois desse trecho, tente encontrar uma parte que fala “Caused by…”

Em frente a isso vai ter o nome do .jar que está faltando.
Ai sim, como o outro colega já mencionou, vc tem que colocar o jar que está faltando… :wink:

madsen

Olá pessoal, verifiquei as dependências e ví que um dos jars estava com a versão incorreta.
Valeu pessoal!! :?

Criado 7 de maio de 2007
Ultima resposta 9 de mai. de 2007
Respostas 5
Participantes 3