Jasper dando erro, quando chamado por classe java

Gente

Tenho um relatorio no IReport com os campos definidos “codigo”, “descricao” e “emUso”. Todos são String. Estou tentando rodá-lo via classe java com o seguinte código:


    private void botaoImpressaoRelatorioActionPerformed(java.awt.event.ActionEvent evt) {                                                        
        
        Vector headers = new Vector();
        Vector linhas = new Vector();
        Vector registro = new Vector();;
        
        headers.clear();
        headers.add((Object) "codigo");
        headers.add((Object) "descricao");
        headers.add((Object) "emUso" );
        
        registro.clear();
        registro.add((Object) "0001");
        registro.add((Object) "Teste 1");
        registro.add((Object) "S");
        linhas.add(registro);
        
        registro.clear();
        registro.add((Object) "0002");
        registro.add((Object) "Teste 2");
        registro.add((Object) "S");
        linhas.add(registro);
        
        registro.clear();
        registro.add((Object) "0003");
        registro.add((Object) "Teste 3");
        registro.add((Object) "N");
        linhas.add(registro);
        
        registro.clear();
        registro.add((Object) "0004");
        registro.add((Object) "Teste 4");
        registro.add((Object) "S");
        linhas.add(registro);
        
        registro.clear();
        registro.add((Object) "0005");
        registro.add((Object) "Teste 5");
        registro.add((Object) "S");
        linhas.add(registro);
        
        
        //String dir="";
        
        try{
            
            AcessoBanco c= new AcessoBanco();
            Connection con = null; // c.criarConexao();
            
            MyDataSource dataSource = new MyDataSource(headers, linhas);
            
            JasperReport relatorio = JasperCompileManager.compileReport("C:\\TiposEquipamento.jrxml");
            
            Map parametros = new HashMap();
            parametros=null;
            JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, new JREmptyDataSource());
            
            JasperViewer view = new JasperViewer(impressao);
            view.setVisible(true);
            
            
        }catch(Exception e){
            e.printStackTrace(); 
            JOptionPane.showMessageDialog(null, "Não foi possível a processar o relatório.\nMotivo:"+e.getMessage());
        }
        
    }

Ele está me retornando o seguinte erro :

No Ireport esses campos estao ligados a uma consulta que lá criei e funciona legal com a tabela original. Será que é por isso que não consigo compilar? Se for, como devo criar os campos lá no Ireport para aceitar o relatorio via java do jeito que estou fazendo?

A quem ajudar, agradeço.
Bonissauro

PS: Na verdade não consegui fazer nenhum relatório meu funcionar a partir de classes java, sendo com ou sem consultas, arrays ou o quer que seja…

Bem, existe algum motivo para vc compilar o .jrxml dentro do código Java?
Normalmente isso é feito somente no IReport, e ele te gera um .jasper, ai esse .jasper é utilizado dentro da classe Java para gerar o relatório, não sei se é esse o motivo do seu problema, mas vc pode tentar resolver com isso.

Na verdade, essa foi uma das maneiras que aparentemente cheguei mais proximo de resolver o problema. Se houver outro jeito que funcione, tô dentro. Hehhehehehe…

Tens algo PRONTO e FUNCIONANDO que pudesses me mandar para eu testar?

Sabe, de repente to fazendo algo errado na hora de
construir o report. Veja se falta algo:

  1. posiciono os textfields
  2. mudo seus nomes para os nomes dos campos que vou mandar pelo array
  3. crio os campos do relatorio la em visualizar campos do relatorio, CUIDANDO LETRAS MAIUSCULAS/MINUSCULAS
  4. compilo o report

Salvo e tento rodar minha classe java.

Sempre me retorna o erro ERROR COMPILING JAVA REPORT SOURCE FILE.

To ficando maluco :cry:

Desde já te agradeço
Bonissauro

Tenho um código sim, mas no momento eu não estou tendo acesso a ele, meu computador está em Alagoas e eu estou na Paraíba, so trago ele pra cá no final do mês, se quiser aguardar até la posso te passar o código depois.

Aguardo, claro…

Pelos dados que informei não tens nenhuma pista?

E desde já te agradeço…

Decobri, meu…

Na verdade empaquei depois, e já desempaquei e o relatório já está funcionando.

O problema deste tópico era a falta de todos os arquvos JAR do IReport. Adicionei a pasta lib inteira do ireport ao projeto e passou legal.

Forte abraco e obrigado pela paciencia
Bonissauro