Galera estou usando o Ireport 3.7.4 e na hora de gerar o pdf está dando o seguinte erro:
java.lang.ClassCastException: net.sf.jasperreports.engine.JasperReport cannot be cast to dori.jasper.engine.JasperReport
O que pode ser isso? Quando compilo meu .jasper roda perfeitamente!!!
[RESOLVIDO]Erro no Ireport
28 Respostas
é alguma biblioteca que esta faltando…
joga no google que vai achar facil
Ja fiz isso nao achei nada
primeira pagina do google!
Mais não era o meu caso…
amigo, leia bem o topico. eh o mesmo problema sim…
ps.: passei a dica agora é contigo 
Eu alterei o metodo de geração do relatorio vou colocar o codigo para vc dar uma olhada
final HashMap parametros = new HashMap();
parametros.put("DT_Emissao", ed.getDT_Emissao());
parametros.put("NR_Nota_Fiscal", ed.getNR_Nota_Fiscal());
parametros.put("NR_Volumes", ed.getNR_Volumes());
parametros.put("NR_Peso", ed.getNR_Peso());
parametros.put("NM_Pessoa_Remetente", ed.getNM_Pessoa_Remetente());
parametros.put("NM_Pessoa_Destinatario", ed.getNM_Pessoa_Destinatario());
parametros.put("OID_Nota_Fiscal", ed.getOID_Nota_Fiscal());
parametros.put("PATH_IMAGENS", Parametro_FixoED.PATH_IMAGENS);
final InterfaceRelatorio relatorio = new RelatorioJasperImpl(response);
relatorio.setNomeArquivo("etiquetaNF");
relatorio.setPathImagem(Parametro_FixoED.PATH_IMAGENS);
relatorio.setPathReport(Parametro_FixoED.PATH_RELATORIOS_JASPER);
relatorio.listaRelatorioPdfParaByte(parametros,lista);
final JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(lista);
parametros.put("PATH_IMAGENS", getPathImagem());
parametros.put("PATH_SUBREPORT", getPathReport());
parametros.put("P_DTHORA_EMISSAO", new Date().toString());
String url = getPathReport().replace("/", "\\")+getNomeArquivo() + ".jasper";
final byte[] bytes = JasperRunManager.runReportToPdf(url , parametros);
final String type = getContentType() != null ? getContentType() : "application/pdf";
final String disposition = getContentDisposition() != null ? getContentDisposition() : "inline";
response.setContentType(type);
response.addHeader("Content-Disposition", disposition + ";filename=" + getNomeArquivo());
response.setContentLength(bytes.length);
ServletOutputStream servletOutputStream = response.getOutputStream();
servletOutputStream.write(bytes, 0, bytes.length);
servletOutputStream.flush();
servletOutputStream.close();
response.flushBuffer();
O erro agora é o seguinte
WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
onde vc esta setando objeto ds do tipo JRBeanCollectionDataSource ?
nao econtrei
Não estou setando só quero passar os parametros do Map para o ireport pegando o $P{}
Ainda dando erro ou só akele warning?
não vai funcionar se vc nao configurar no relatorio.
se vc tivece lido o topico que te postei saberia o motivo… Ou voce passa para o relatorio um array de 1 posição para ele determinar paginação. ou vc vai ter que mecher no relatorio para que ele nao entenda isso.
Se o erro continuar sendo o primeiro que ele colocou lá em cima,é problema de conflito dos jars do Ireport
o erro é que ele nao esta passando collection e nem resultSet para o relatorio. para funcionar dessa forma através de MAP precisa configurar no relatorio para When no Data e tals. igual o topico que eu passei
E quanto a esse erro:
java.lang.ClassCastException: net.sf.jasperreports.engine.JasperReport cannot be cast to dori.jasper.engine.JasperReport
Isso é erro de versão.
Sim, pode ser. Se ele tiver usado versão antiga do iReport com relatorio recompilado na nova versao e librarys antigas no projeto.
Aquele post que vc me passou não mostra como configurar o ireport para receber somente o MAP e o erro continua somente o warning.
aparentemente parece que o post foi editado, se eu encontrar posto novamente o trecho de código. 1 momento
Eu não editei o post o unico link que vc me passou foi este
http://www.guj.com.br/posts/list/118769.java
tente isso:

Que saco cara to quebrando a cabeça numa coisa que era pra ser muito fácil nunca apanhei tanto com relatorios sempre fiz de barbada so que agora estou em outra estrutura de sistema.
Continua dando o mesmo erro de ontem o ruim que não mostra nenhuma excecao, a unica é o warn.
Mais desde já te agradeço a ajuda memso.
WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
esse teu erro ta mto estranho.
Nunca vi isso.
Faça um teste pra mim.
Coloque seu relatorio em C:
e faça o seguinte:
objeto hm = hashMap
ds = JRResultSetDataSource
relatorio = relatorio.EXTENSAO
JasperPrint jp = JasperFillManager.fillReport("C:/"+relatorio), hm, ds);
Consegui velho
fiz a sua ultima dica e alterei essa linha
final byte[] bytes = JasperRunManager.runReportToPdf(getPathReport() + "/" + getNomeArquivo() + ".jasper", parametros, ds);
para
final byte[] bytes = JasperRunManager.runReportToPdf(getPathReport() + "/" + getNomeArquivo() + ".jasper", parametros);
Valeu mesmo velho…
tranquilo. soh coloque o topico como Resolvido 
Att. Jonas Teixeira de Freitas
Só mais uma coisa ele abriu o relatorio porem abriu vazio sem os campos nem o formato, tem mais alguma coisa pra fazer? em que lugar deve ficar as informações no header?
imaginei que fosse acontecer isso… tente as outras opcao que existe lah no When no Data
Também mostrou essa exceção
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:610)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:188)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
at org.apache.jsp.conhecimento.conI003_jsp._jspService(conI003_jsp.java:1461)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
alterei todos os tipos lá em todos vem vazio quando nao da erro, putz agora que eu tava ficando novamente empolgado deu pau
A opção do ‘When no Data’ deve ser: “All Sections,no Detail”
Somente com o Map não consegui fazer então achei melhor fazer passando uma lista