玻璃鱼报告失败

时间:2014-01-29 16:10:44

标签: java eclipse tomcat glassfish jasper-reports

我使用iReport 5.1.0做了一个报告并部署在Tomcat服务器上,它运行得很好。但是当部署在生产服务器(Glassfish 3.1)中时,报告永远不会出现。 glassfish日志为空,因此未发现错误。

当我在eclipse(Glassfish的调试模式)中运行时,执行似乎跳进了

JasperViewer jasperViewer = new JasperViewer(re, false, null);

线。

此消息旁边是我在Tomcat中使用和工作的代码。

Pd积。原谅我的英语,我是一名土生土长的西班牙人。

代码:

public boolean mostrarReporte(String template, Map parametros) {
        JasperReport report = null;
        JasperPrint re = null;
        Connection conn = conexion();
        boolean success = true;

        try {
            String in = FacesUtils.getExternalContext().getRealPath(
                    "/reportTemplates/" + template);
            report = (JasperReport) JRLoader.loadObject(in);

            re = JasperFillManager.fillReport(report, parametros, conn);
            JasperViewer jasperViewer = new JasperViewer(re, false, null);
            // Mostrar el reporte
            jasperViewer.setVisible(true);
            jasperViewer.setDefaultCloseOperation(0);
            parametros.clear();

        } catch (JRException e) {
            success = false;
            e.printStackTrace();
        } finally {
            try {
                conn.close();
            } catch (Exception e) {
            }
        }
        return success;
    }

1 个答案:

答案 0 :(得分:0)

验证生产服务器上是否包含所有jasper库:它们应位于glassfish / domains / domain1 / lib / ext下。如果罐子不存在(或者其中一些 - 比如字体或其他非强制性的lib),您可能会遇到您所描述的行为。还要确保生产计算机上的数据库不为空。如果没有要显示的数据,jasper会显示一个空页面。