Relatório Jasper não é atualizado

Buenas,

Estou desenvolvendo uma aplicação web no eclipse, e estou tendo uns problemas com os relatórios.
Estou fazendo um relatório com iReport 5.0.1, e ao compilar uma nova versão (mesmo limpando o projeto e reiniciando o servidor), o relatório é gerado sem as alterações.
Já tentei mudar o diretório de compilação do relatório para a pasta do servidor no workspace, mas não resolveu o problema. Alguém sabe o motivo disso aí?

Segue o método para geração do relatório:


	public void gerarRecibo() throws JRException, IOException {
		FacesContext context = FacesContext.getCurrentInstance();
		ExternalContext ext = context.getExternalContext();
		List lista = new ArrayList();
		JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(lista);
		JRExporter exporter = new JRPdfExporter();
		String caminho = "/relatorios/rel.jasper";

		
		InputStream fis = ext.getResourceAsStream(caminho);		
		JasperReport report = (JasperReport) JRLoader.loadObject(fis);		
		
		System.out.println("WIDTH: " + report.getPageWidth());		
		
		HashMap<String, Object> parameters = new HashMap<>();
				
		JasperPrint printer = JasperFillManager.fillReport(report,
				parameters, dataSource);

		File arquivoPDF = new File(context.getExternalContext().getRealPath("/relatorios/rel.pdf"));		
		exporter.setParameter(JRExporterParameter.JASPER_PRINT, printer);
		exporter.setParameter(JRExporterParameter.OUTPUT_FILE, arquivoPDF);
		
		exporter.exportReport();
		arquivoPDF.deleteOnExit();
		ext.redirect(ext.getRequestContextPath()
				+ "/relatorios/rel.pdf");	
	}

Obrigado desde já (:

Faz assim…

Apaga os arquivos antigos da pasta relatorio
Compila novamente
Dentro da pasta do Relatorio, deixa só o .jrxml e o .jasper

Faz esse teste…

Sempre que compilar o relatório da um refresh no projeto.

raf4ever, eu tive um problema assim…
Eu dava o refresh mas não atualizava o relatorio…
ai eu fiz isso apaguei os arquivos antigos da pasta relatorio
Compilei novamente
Dentro da pasta relatorio, deixei só o .jrxml e o .jasper

funcionou :slight_smile:

jmaciel33, eu fiz isso também e não funcionou… ah, dar refresh no projeto também não resolveu
sabe de mais algo que pode estar causando isso?

Problema resolvido!

Duas coisas:

Primeira: Por algum motivo, ao compilar o relatório de novo (mesmo que seja gerado um novo pdf), ele é criado igual a versão antiga. Para resolver isso, tivemos que criar cada relatório com um nome diferente, concatenando com a data e hora. Uma solução alternativa é limpar o cache do navegador a cada alteração no relatório.

Segunda: Outro problema que tive foi ao testar o relatório sem enviar nenhum dado, e por isso ele aparecia em branco. Para resolver, é só trocar o atributo “When no data” para “All sections, no detail”.