Java Jasper没有更新jboss服务器7中的文件
我在JBoss7中有一个Java web项目,其中使用了Jasper报告。 我修改了在localhost上测试的jasper文件的布局。 我部署了服务器,但它仍然将jasper文件带到以前的布局中。贾斯珀根本没有更新。 已经清理了tmp文件夹中的文件夹,我停止并启动了服务器,更改了jasper的保存方式,但什么都不起作用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,
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通常是一个特殊值,但是作为文本中的第一个服务器被切断了。我留下了文本的主要组成部分,它起作用了。