Olá pessoal,
estou finalizando um controle estoque web em jsf. Estou na parte de relatórios. Eu consegui fazer os relatórios e abri-los através de código java no meu note.
Só que ao implantar o arquivo .war em outro computador com a mesma versão do tomcat e do java o relatório não abre. Já tentei de tudo, vcs vão até ver o código cheio de comentário, kkkk.
Abaixo está o código que faço abrir o relatório no meu note:
public void abrirRelatorioCliente() throws JRException, IOException{
Session session = hb.currentSession();
if(session == null){
session = hb.openSession();
}
Query cons = session.createQuery("from Cliente");
List clientes = new ArrayList();
clientes = cons.list();
JasperPrint impressao = null;
impressao = JasperFillManager.fillReport("E:/Documents/Softwares/Projeto/LokalTattoo/relatorios/RelatorioCliente.jasper",new HashMap(),new JRBeanCollectionDataSource(clientes));
//impressao = JasperFillManager.fillReport("C:/Program Files/Apache Software Foundation/Tomcat 8.0/webapps/LokalTattoo/WEB-INF/classes/RelatorioCliente.jasper",new HashMap(),new JRBeanCollectionDataSource(clientes));
//JasperExportManager.exportReportToPdfFile(impressao,"C:/Users/Vinicius/Desktop/RelatorioCliente.pdf");
JasperViewer viwer = new JasperViewer(impressao, false);
viwer.setVisible(true);
//JasperExportManager.exportReportToPdfFile(impressao,"C:/Relatórios/RelatorioCliente.pdf");
//Desktop.getDesktop().open(new File("C:/Users/Vinicius/Desktop/RelatorioCliente.pdf"));
//Desktop.getDesktop().open(new File("C:/Relatórios/RelatorioCliente.pdf"));
}
Para a implantação em outro pc eu mudo somente uma linha ficando assim:
public void abrirRelatorioCliente() throws JRException, IOException{
Session session = hb.currentSession();
if(session == null){
session = hb.openSession();
}
Query cons = session.createQuery("from Cliente");
List clientes = new ArrayList();
clientes = cons.list();
JasperPrint impressao = null;
//impressao = JasperFillManager.fillReport("E:/Documents/Softwares/Projeto/LokalTattoo/relatorios/RelatorioCliente.jasper",new HashMap(),new JRBeanCollectionDataSource(clientes));
impressao = JasperFillManager.fillReport("C:/Program Files/Apache Software Foundation/Tomcat 8.0/webapps/LokalTattoo/WEB-INF/classes/RelatorioCliente.jasper",new HashMap(),new JRBeanCollectionDataSource(clientes));
//JasperExportManager.exportReportToPdfFile(impressao,"C:/Users/Vinicius/Desktop/RelatorioCliente.pdf");
JasperViewer viwer = new JasperViewer(impressao, false);
viwer.setVisible(true);
//JasperExportManager.exportReportToPdfFile(impressao,"C:/Relatórios/RelatorioCliente.pdf");
//Desktop.getDesktop().open(new File("C:/Users/Vinicius/Desktop/RelatorioCliente.pdf"));
//Desktop.getDesktop().open(new File("C:/Relatórios/RelatorioCliente.pdf"));
}
Então o primeiro código é o que está funcionando no meu note e o segundo só muda o caminho do relatório para o pc onde será instalado o sw.
Resumindo, consigo abrir o relatório no meu note, porém no pc de casa eu não consigo sendo que está tudo igual as configurações. E o log do tomcat do pc não fala nada de erro.
Alguém tem alguma ideia, sugestão?
Aguardo resposta.