[Resolvido] JasperReports - Meus relatórios do iReports não abrem no MAC OS X

3 respostas
franzzita

Galera,

Meu sistema possui vários relatórios desenvolvidos no iReports, utilizando JasperReports.
Instalei o sistema em um MAC OS X e não abre os relatórios, da sempre erro.

Alguém aqui já passou por isso?
Devo substituir os .jars do JasperReports?

Obrigada.

3 Respostas

darksteel3000

Opa, vamos lá. Deu erro? Qual erro?

É interessante dizer que sempre que desenvolvemos relatorios, o nosso servidor de aplicação e sistema operacional podem ler diferente uns dos outros. Mesmo sendo java, mas a forma como você constroi ele pode ser interpretada diferente.

Por exemplo, tinha um monte de relatorios que so rodavam no Windows, quando fui ver o problema, era a Fonte que não existia no servidor que era Linux. Podem ser varios os motivos, o legal é você passar o erro que está dando e sua implementação para que possamos dizer o que pode estar errado.

carlos.hager

esses problemas da fonte é um caso sério, todos os meu problemas de compatibilidade eram causados pelas fontes :slight_smile:
grande chance de ser esse o seu problema…

franzzita

Pessoal, obrigada pela ajuda!

Consegui achar o meu problema, eu criei todos os relatórios com o logotipo da empresa e o caminho do logotipo era do windows c:\\ por isso no mac dava erro.
Então foi só tirar os logotipos dos relatórios e funcionou perfeitamente, exceto os subrelatórios.

Agora preciso de uma outra ajuda, preciso de um método java que independente do sistema operacional ele pegue pra mim o diretório corrente da aplicação.
O que acontece é que tenho subrelatórios que são chamados através de uma classe java que uso os caminhos fixos do windows.

Abaixo segue minha classe de conexão com o subrelatório:

public class relCliente 
{
    public relCliente(Integer cliente, Integer status) 
    {
        try 
        {
            Conexao_Sub.estabelecerConexao();
            
            HashMap <String, Object> parametros = new HashMap <String, Object>();
            
            parametros.put("SUBREPORT_DIR","C://PROJETO/SUBRELATORIOS/");
            parametros.put("idCliente", cliente);
            parametros.put("Status", status);  
            
            JasperReport jasperReport = JasperCompileManager.compileReport("C://PROJETOS/SUBRELATORIOS/RELATORIO_CLIENTES.jrxml"); 
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, Conexao_Sub.getConexao());
            JasperViewer jrViewer = new JasperViewer(jasperPrint, false);
            
            jrViewer.setTitle("Clientes" + new SimpleDateFormat("dd/MM/yyyy").format(new Date()));
            jrViewer.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);
            jrViewer.setVisible(Boolean.TRUE);
        } 
        catch (JRException ex) 
        {
            ex.printStackTrace();
            Logger.getLogger(relResultadosGeral_Contrato.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Obrigada galera!

Criado 19 de março de 2013
Ultima resposta 20 de mar. de 2013
Respostas 3
Participantes 3