Jasper Report não gera relatório no arquivo.jar

17 respostas
M

Olá,

eu tenho um sistema que gera relatórios em pdf usando o Jasper Report. Ele gera relatórios muito bem quando estou usando o NetBeans. Quando construo arquivo.jar e tento executá-lo, o programa não gera mais relatório.

Alguém pode me ajudar com esse problema?
Obrigado

17 Respostas

V

entao carinha…um colega de facu teve o mesmo problema…

o problema q tava faltando add um .jar no projeto dele…

ve se vc colocou todos os .JAR…pega algum exemplo por ai

falou

R

O seu .jar esta na mesma pasta onde se encontra os .jasper…

abs

R

Na hora de criar seu JAR, inclua nele o JAR do jasperreport e iText.

M

Olá,
eu já testei colocar o arquivo .jar do jasperprint no meio das classes, nos libs usados pelo projeto do Netbeans, e ainda tentei colocar os relatórios no mesmo diretórios. Mas nada funcionou.
Será problema de rodar só no meu computador e em outro computador rodar normal?

Abraços

R

mrapha:
Olá,
eu já testei colocar o arquivo .jar do jasperprint no meio das classes, nos libs usados pelo projeto do Netbeans, e ainda tentei colocar os relatórios no mesmo diretórios. Mas nada funcionou.
Será problema de rodar só no meu computador e em outro computador rodar normal?

Abraços

to com o mesmo problema que vc se tiver resultados posta ai

A

Como você definiu o caminho que ele pega o relatório para gerar???

Relativo ou absoluto?

Abraços

Posta o stacktrace, se tiver!

R

ajfilho:
Como você definiu o caminho que ele pega o relatório para gerar???

Relativo ou absoluto?

Abraços

Posta o stacktrace, se tiver!

vou postar aki meu metodo gerar relatorio

R
private void geraRelatorio() {
        try {
            long num=0;
            num= Integer.parseInt(jtRegistro.getText()); 
            String sql="";
            sql ="select * from paciente Where codigo ="+num;
            Connection con = TesteConexao.connection;            
            Statement stm = con.createStatement( );            
            ResultSet rs = stm.executeQuery( sql );            
            /* implementação da interface JRDataSource para DataSource ResultSet */
            JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );            
            /* HashMap de parametros utilizados no relatório. Sempre instanciados */
            Map parameters = new HashMap();            
            // parameters.put("COLUNA", valor);
            /* Preenche o relatório com os dados. Gera o arquivo .jrprint */
            JasperFillManager.fillReportToFile("Recibo_impressao.jasper", parameters, jrRS);            
            /* Exporta para o formato PDF */
            JasperExportManager.exportReportToPdfFile("Recibo_impressao.jrprint");            
            /* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem
            a necessidade do .jrprint */
            // JasperRunManager.runReportToPdfFile("BibliotecaPessoal.jasper", parameters, jrRS);
            /* Visualiza o relatório em formato PDF */
                     
            
        } catch (Exception ex) {
            ex.printStackTrace();
            System.out.println("Erro de Excessão" +ex);
        } 
    }
esse é codigo que eu crio o relatorio
A

esse .jasper tá no mesmo pacote que essa classe, ou está na raíz??

Roda o teu jar pelo executar --> cmd.exe e pega o trace e cola aqui para eu ver.

Comando, caso não saibas é:

Abraços!

R

ajfilho:
esse .jasper tá no mesmo pacote que essa classe, ou está na raíz??

Roda o teu jar pelo executar --> cmd.exe e pega o trace e cola aqui para eu ver.

Comando, caso não saibas é:

Abraços!

nao entendi

A

rodrigo.menezes:
ajfilho:
esse .jasper tá no mesmo pacote que essa classe, ou está na raíz??

Roda o teu jar pelo executar --> cmd.exe e pega o trace e cola aqui para eu ver.

Comando, caso não saibas é:

Abraços!

nao entendi

Quero que você rode o arquivo jar que gerou pelo shell do DOS (vai em iniciar --> executar e digita cmd.exe).

Simule o que você está fazendo até acontecer o erro.

Lá no shell aparecerá o erro. Quero que você pegue ele e poste aqui!

Abraços!

R

ajfilho:
rodrigo.menezes:
ajfilho:
esse .jasper tá no mesmo pacote que essa classe, ou está na raíz??

Roda o teu jar pelo executar --> cmd.exe e pega o trace e cola aqui para eu ver.

Comando, caso não saibas é:

Abraços!

nao entendi

Quero que você rode o arquivo jar que gerou pelo shell do DOS (vai em iniciar --> executar e digita cmd.exe).

Simule o que você está fazendo até acontecer o erro.

Lá no shell aparecerá o erro. Quero que você pegue ele e poste aqui!

Abraços!

da dando ero unable to accses jarfile sistema

A

Você tem que rodar esse comando no mesmo diretorio onde encontra-se o JAR, Senão tem que passar o caminho todo depois de digitado o jar no comando que lhe passei!

Abraços!

R

ajfilho:
Você tem que rodar esse comando no mesmo diretorio onde encontra-se o JAR, Senão tem que passar o caminho todo depois de digitado o jar no comando que lhe passei!

Abraços!

conseguir o erro que da no prompt: erro de excessao net.sf.jasperreports.engine.JRException: java,io.FileNOTException: Recibo_impressao.jasper

A

Tem uma opção quando gera o jar pelo netbeans chamada ‘Compress Jar File’ (Botão direito no projeto, properties, build, packaging). Marque essa opção e regere o jar.

Mas antes de fazer isso, esse erro tá dizendo que não tá encontrando esse arquivo ‘Recibo_impressao.jasper’.

Descompacte esse jar (assim como você faria com um arquivo compactado de extensão .rar, .zip, entre outros) e verifique se o arquivo está lá mesmo!

Abraços!

R

realmente nao estava nao, valleu mesmo pelas informações, ta funcionando quase perfeito só to com mais 2 problemas

1- o programa so executa completamente se estiver com a pasta do projeto, só com o jar nao salva a imagem e nem gera o relatorio.

2- é possivel criar um botao que abra o relatorio na minha aplicação ao inves de salvar.

se pider me ajudar eu agredeço com esse projeto to apliando muito meus conhecimentos em java

A

rodrigo.menezes:
realmente nao estava nao, valleu mesmo pelas informações, ta funcionando quase perfeito só to com mais 2 problemas

1- o programa so executa completamente se estiver com a pasta do projeto, só com o jar nao salva a imagem e nem gera o relatorio.

2- é possivel criar um botao que abra o relatorio na minha aplicação ao inves de salvar.

se pider me ajudar eu agredeço com esse projeto to apliando muito meus conhecimentos em java

Em relação a primeira pergunta, não entendi muito bem o que disseste. Poderia explicar melhor o que pretendes?

Em relação a segunda, com certeza tem um botão que você clica que chama essa classe ou método para gerar o relatório. Você pode usar da seguinte maneira:

JRResultSetDataSource jrRS = new JRResultSetDataSource(rs); // Aqui passa o seu ResultSet como parâmetro JasperPrint jasperPrint = JasperFillManager.fillReport("seuRelatorio.jasper", params, jrRS); JasperViewer.viewReport(jasperPrint, false); // Aqui você chama o seu relatório, bem parecido com o "Visualizar Impressão" do Word. Tem até opção de salvar como pdf, xls, entre outros.

Espero ter ajudado…

Abraços!

Criado 6 de dezembro de 2007
Ultima resposta 11 de dez. de 2008
Respostas 17
Participantes 6