Abrir relatórios

0 respostas
V

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.

Criado 9 de janeiro de 2015
Respostas 0
Participantes 1