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

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.

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.

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…

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:

[code]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);
    }
}

}[/code]

Obrigada galera!