[color=darkblue][size=13]Olá estou com um problema com meu relatório pois executando minha aplicação pelo netbeans ele executa normal agora quando eu executo ele pelo .jar o relatório não aparece.
Alguém tem alguma opnião ?[/size][/color]
[RESOLVIDO] Relatório no ireport
8 Respostas
Sim.
E qual seria ?
Implemente um log que grave informações em um arquivo texto, no qual você possa validar se houve exceção e qual é a mesma.
Pode ocorrer uma série de coisas, dentre as quais, o arquivo .jasper não está sendo encontrado ou há falha nos dados para a criação do relatório.
A unica mensagem que aparece quando executo ele pelo netbeans é
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
mais mesmo assim executa.
Pelo que eu vi acho que falta configurar o log4j.
Alguém sabe como faço isso no netbeans sendo que já tenho o log4j-1.2.8.jar importado em minha biblioteca.
Tive um problema semelhante e a questão resolvi colocando o arquivo .jasper na pasta correta.
Ex:
No NetBeans definia ou caminho relativo : /relatorios/xy.jasper
ou o caminho real (não recomendado): c://sistema//relatorios//xy.jasper
Lembrando que o JAR considera como raiz a pasta que ele esta localizado portando se define /relatorios/xy.jasper o arquivo JAR deve estar em c:\sistema.
Outra coisa que pode ajudar é executar o jar a partir do prompt do DOS ou SHEL no caso do Linux com o comando
java -jar sistema.jar
após abrir a aplicação quando tentar abrir o relatório ficara registrado no prompt o motivo do erro.
No NetBeans executa corretamente porque o IDE resolve resolve o problema de localização de arquivos diferente de quando executamos o JAR.
Espero ter ajudado.
Cara dá uma olhada aqui: http://www.guj.com.br/java/293266-relatorios-nao-sao-exibidos-no-arquivo-executavel
Estou com o mesmo problema, e já obtive orientação sobre isso… inclusive até encontrei uma forma paliativa de “contornar” este problema…
Vlw galera resolvido utilizando :
getClass().getResourceAsStream("Relatorio_1.jasper");
Obrigado a todos.