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

Jasper has not updated file in the jboss server 7

我在 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" 以了解您需要替换哪个文件。