java - Jasper 尚未更新 jboss 服务器中的文件 7

标签 java jasper-reports jboss7.x

我在 Jboss 7 中有一个 Java Web 项目,我在其中使用 Jasper 报告。 我修改了在本地主机上测试的 jasper 文件的布局,这没问题。 我部署了服务器,但它仍然将 jasper 文件携带到以前的布局。 Jasper 根本没有更新。 已经清理了 tmp 文件夹中的文件夹,我停止并启动了服务器,更改了保存 jasper 的方式,但没有任何效果。

public class UtilRelatorios {

public static void imprimeRelatorio(String relatorioNome,
        HashMap parametros) throws IOException, JRException {
        FacesContext fc = FacesContext.getCurrentInstance();
        ServletContext context = (ServletContext) fc.getExternalContext().getContext();
        HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
        JasperPrint jasperPrint = 
                JasperFillManager.fillReport(
                        context.getRealPath("/relatorios/jasper")+ File.separator+relatorioNome+".jasper",
                        parametros);     
        byte[] b = null;

        try {
            b = JasperExportManager.exportReportToPdf(jasperPrint);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        }    

            if (b != null && b.length > 0) {
                // Envia o relatório em formato PDF para o browser
                response.setContentType("application/pdf");
                int codigo = (int) (Math.random()*1000);
                response.setHeader("Content-disposition","inline);filename=relatorio_"+codigo+".pdf");
                response.setContentLength(b.length);
                ServletOutputStream ouputStream = response.getOutputStream();
                ouputStream.write(b, 0, b.length);
                ouputStream.flush();
                ouputStream.close();
            }   
 }

}

最佳答案

.jrxml 和 .jasper

您确实已经编辑了 .jrxml ,但是您是否已成功将其编译为新的 .jasper (编译后的版本)

您更新的是 .jasper 文件吗?

注意:在您的代码中,您没有编译 .jrxml ,而是直接使用编译后的版本 .jasper ,因此您需要覆盖它。

how-do-i-compile-jrxml-to-get-jasper

what-is-the-difference-between-jasperreport-formats

如果这不起作用,请输出 context.getRealPath("/relatorios/jasper")+ File.separator+relatorioNome+".jasper" 以了解您需要替换哪个文件。

关于java - Jasper 尚未更新 jboss 服务器中的文件 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33997668/

相关文章:

java - 在 Java 中完成类的精确副本的构造函数

javascript - 我们可以将JasperReports与AngularJS一起使用吗?

mysql - 是什么导致 "ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0a400e22:2251d537:519c37fa:35d4 in state RUN"

java - 可以将配置文件放在 JAR 中吗?

java - Android 测试框架说明

java - JRException : java. lang.ClassCastException : java. lang.String 无法转换为 java.lang.Boolean

java - @RolesAllowed 无法正常工作

java - 来自 Jboss 7.1.1 中部署的 RESTful Web 服务的 HTTP 错误 404

java - E4 EPartService findPart() 抛出 java.lang.Null 指针异常

grails - 是否可以将 Groovy Expandos 的集合绑定(bind)到碧 Jade 报告?