Java Jasper没有更新jboss服务器7中的文件

Java Jasper没有更新jboss服务器7中的文件,java,jasper-reports,jboss7.x,Java,Jasper Reports,Jboss7.x,我在JBoss7中有一个Java web项目,其中使用了Jasper报告。 我修改了在localhost上测试的jasper文件的布局。 我部署了服务器,但它仍然将jasper文件带到以前的布局中。贾斯珀根本没有更新。 已经清理了tmp文件夹中的文件夹,我停止并启动了服务器,更改了jasper的保存方式,但什么都不起作用 public class UtilRelatorios { public static void imprimeRelatorio(String relatorioNome,

我在JBoss7中有一个Java web项目,其中使用了Jasper报告。 我修改了在localhost上测试的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
,因此您需要覆盖它


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

我使用iReport编译.jrxml,并将更新的.jasper放在项目上。现在我们来测试使用JasperCompileManager localhost编译的代码,一切都解决了,但是服务器仍然使用旧的.jasper。我不知道会发生什么,因为我以前做过更改,但从来没有出现过这个问题。您很简单,没有用新的.jasper文件覆盖正确的.jasper文件。。。没有其他原因(检查上次修改日期ecc。)。。。如果没有其他代码覆盖.jasper文件…Petter,我保存在已经编译的项目文件中。jasper,我只是在文件夹中替换它。我已经使用JasperCompileManager通过代码测试了编译.jrxml,但仍然存在错误。我还改变了.jasper和错误保留的方式。这看起来很奇怪,浏览器缓存了响应?我发现我的问题组件可以根据jasper布局中文本的大小进行调整。文本中的Localhost通常是一个特殊值,但是作为文本中的第一个服务器被切断了。我留下了文本的主要组成部分,它起作用了。