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!!!
é alguma biblioteca que esta faltando…
joga no google que vai achar facil
Ja fiz isso nao achei nada
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.