Tenho uma aplicação Desktop e alguns relatorios no ireport, utilizo o netbeans e coloquei todos os relatorios em uma pasta chamada ‘‘relatorios’’, e pela ide executa sem problemas, mas quando eu gero o jar e executo por ele não econtra os relatorios. Eu abri o jar e vi que la dentro estão os relatorios na pasta ‘relatorios’. Alguem ja passou por isso!
Meu .jar não encontra os meus relatorios IReport
10 Respostas
no meu fica assim:
Raiz>
Pasta 'rel’
executável ‘sistema.jar’
Pasta ‘rel’>
relatório 'report.jrxml’
relatório ‘report.jasper’
Anteriormente eu tinha criado o jar sem os relatorios inclusos, com a pasta relatorio fora mas tambem não funcionou, ai eu tentei icluir no jar para ver se ele lia mas não funcionou tambem.
Eu já tentei colocar a pasta de relatorio dentro do .jar, mas eu tinha o meu problema que vc, para funcionar eu tirei essa pasta de dentro do jar, depois disso funcionou normamente, a unica coisa que eu tenho que fazer eh deixar a pasta de relatorios sempre junto com o jar.
cara! vc consegui resolver o lance do subrelatorio, no post tem um link mostrando.
Agora para resolver a tua situação vc deve tirar o caminho absoluto do relatório e colacar o caminho relativo.
pelo exemplo q tu me passou em post anterior notei q vc passa o camino absoluto do relatorio. + ou - assim: c:/programRelatorio/src/com/br/relatorio.jasper
vc deve colocar o caminho relativo: com/br/relatorio.jasper
para isso vc vai ter que colcoar na tua classe um função do java que captura o caminhoda tua maquina.
dessa forma vai ficar algo como fucaoCapituraCaminho+caminho relativo, pronto.
obs: continuo com problema para passar um list para o relatorio.
att.
Eu estou tentando fazer assim:
Ai eu coloco o meu arquivo RAH.jasper junto con o .jar da aplicação mas ele não acha, o interessante que pelo netbeans ele funciona normalmente.
Ai eu tentei colocar em um pacote e apontar para esse pacote assim:
Tambem tentei:
Ai eu criei então uma pasta chamada relatorios com os relatorios dentro e coloquei essa pastar junto com o .jar da aplicação e tambem não funcionou.
Sempre tenho a mesma exception:
Tentei o seguinte:
File f = new File("RAH.jasper");
JOptionPane.showMessageDialog(null, f.getCanonicalPath(), "Mensagem", JOptionPane.PLAIN_MESSAGE);
jpt = JasperFillManager.fillReport(f.getAbsolutePath(), parameters, new JRBeanCollectionDataSource(data, false));
JasperViewer.viewReport(jpt, false);
Ai ele mostra um JOptionpane com o caminho do arquivo e vi que ele está pegando certo o caminho mas não abre o relatorio.
Alguem tem um exemplo para me ajudar?
no netbens funciona pq ele configura o arquivo chamado meta-inf lá ele seta o caminho do tela relatorio além disso ele faz 1milhão de configurações a + por isso ele reconhece!
Pra vc ter uma idéia lá no parametro coloca o caminho absoluto do relatorio tipo: "c:\relatorio\com\relatorio.jasper e gera o .jar
vc vai ver que vai funcionar! mais eu sei q não é isso q vc quer pq vc procura uma soluçao dinamica e nao um solucção estatica correto?
Correto, mas como eu faço isso?
já respondi acima!