Relatorios Jasper

2 respostas
R

Oi Javeiros…
Estou com um problema…
Fiz um relatorio no iReport e este roda normalmente em um class “main”

String driver = com.inet.tds.TdsDriver;

Class.forName(driver);

Connection con = DriverManager.getConnection(jdbc:inetdae://dti/concurso”,“teste”,“1”);

JasperReport jr =  JasperCompileManager.compileReport(c:\RelEventos.jrxml);

JasperPrint jprint = JasperManager.fillReport(jr,new HashMap(),con);

JasperViewer viewer = new JasperViewer(jprint,true);

viewer.show();

O problema esta na hora de rodar em um action strtus

InputStream stream = getServlet().getServletContext().getResourceAsStream("/RelEventos.jasper");
JasperReport relatorio = JasperManager.loadReport(stream);

Gera um erro
Error loading object from InputStream

Algem teria um dica ai para me dar…

Obrigado
Rodrigo

2 Respostas

R

“rodrigosnog”:
Oi Javeiros…
Estou com um problema…
Fiz um relatorio no iReport e este roda normalmente em um class “main”

String driver = com.inet.tds.TdsDriver;

Class.forName(driver);

Connection con = DriverManager.getConnection(jdbc:inetdae://dti/concurso”,“teste”,“1”);

JasperReport jr =  JasperCompileManager.compileReport(c:\RelEventos.jrxml);

JasperPrint jprint = JasperManager.fillReport(jr,new HashMap(),con);

JasperViewer viewer = new JasperViewer(jprint,true);

viewer.show();

O problema esta na hora de rodar em um action strtus

InputStream stream = getServlet().getServletContext().getResourceAsStream("/RelEventos.jasper");
JasperReport relatorio = JasperManager.loadReport(stream);

Gera um erro
Error loading object from InputStream

Algem teria um dica ai para me dar…

Obrigado
Rodrigo

R

cara inputstream pode significar que ele esta tentando carregar bytes ou coisa do tipo. e nao apenas o arquivo diretamente, passado numa string de diretorio


alguem sabe sobre esse problema de serializacao de classe do jasper:

eu ja to sabendo que tem que ter o mesmo .jar tanto pro ireport usar e no classpath da aplicacao

mas eu ja modifiquei meu classpath, usei o jasperreports-0.6.4.jar no iReport. e entao coloquei esse .jar no classpath.

mas toda vez que vai rodar dá erro dizendo que o classpath continua com o .jar antigo 0.6.1, muito embora a classe tenha sido serializada pelo novo jar 0.6.4

eu já deletei e recompilei as classes, mas nao teve jeito. eu to setando o classpath pelo eclipse mesmo, adicionando jar. tá errado isso?

o erro é assim:

java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport;
local class incompatible: stream classdesc serialVersionUID = 604, local class serialVersionUID = 601
alguem me ajuda ai por favor.

Criado 7 de junho de 2005
Ultima resposta 10 de jun. de 2005
Respostas 2
Participantes 2