Já procurei esse erro aqui no GUJ e tem vários tópicos, porém em nenhum deles consegui resolver meu problema.
1- uso NetBeans com o plug-in do iReport. iReport-3.7.6-plugin
2- no netbeans eu tenho um relatório com apenas um Static Text, só pra teste…
3- no netbeans eu tenho essa classe com o método:
import java.io.IOException;
import java.io.InputStream;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JasperRunManager;
/**
*
* @author Alan
*/
@ManagedBean
public class RelatorioBean {
public void relatorioUsuario() {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
//pega o arquivo .jasper
InputStream reportStream = context.getExternalContext().getResourceAsStream("relatorios/usuarios.jasper");
int a = 0;
try {
a = reportStream.read();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
//só pra ve se ta lendo o relatório
System.out.println("tamanho:" + a);
}
//envia a resposta com o MIME Type PDF
response.setContentType("application/pdf");
//força a abertura do download no navegador
response.setHeader("Content-disposition", "attachment;filename=relatorio.pdf");
try (ServletOutputStream servletOutputStream = response.getOutputStream()) {
JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, null);
// servletOutputStream.flush();
} catch (Exception e){
System.out.println("erro: ");
System.out.println(e);
}
context.responseComplete();
}
}
4- quando eu chamo esse método ai, aparece o erro:
tamanho:172
erro:
net.sf.jasperreports.engine.JRException: Error loading object from InputStream
5- no jsf, xhtml, aparece o download do arquivo, mais ele vem com 0kb
6- em anexo ta uma print das libs do projeto… não foi preciso usar as libs do ireport, acredito que ja veio com o plug-in…
alguem sabe oq to fazendo de errado?
se é meu código, ou problema com lib?

