Problema com JasperReports

6 respostas
S

Bom dia senhores, continuo com este problema ao compilar um relatório do JASPER em uma página JSP.

Este é o erro:

java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
	at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:81)
	at org.apache.jsp.jsp.compile_jsp._jspService(compile_jsp.java:55)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:534)

E este é o código da aplicação (É um exemplo do JASPER):

<%@ page errorPage="error.jsp" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.design.JasperDesign" %>

<%
	System.setProperty( "jasper.reports.compile.class.path",  application.getRealPath("/WEB-INF/lib/jasperreports-0.6.7.jar") + System.getProperty("path.separator") + application.getRealPath("/WEB-INF/classes/") );

	System.setProperty( "jasper.reports.compile.temp", application.getRealPath("/reports/") );

	JasperCompileManager.compileReportToFile(application.getRealPath("/reports/WebappReport.jrxml"));
%>

<html>
<head>
<title>JasperReports - Web Application Sample</title>
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
</head>

<body bgcolor="white">

<span class="bold">The XML report design was successfully compiled.</span>

</body>
</html>

Conto com a ajuda de vocês!

6 Respostas

_fs

Coloque todos os jars na pasta LIB da distribuição do iReport/Jasper dentro do classpath da sua aplicação.

S

Grande Lipe, apesar de ter colocado no projeto do netbeans eu tambem coloquei os arquivos JAR no classpath. E mesmo assim não funcionou…

Esse é o conteúdo do meu classpath:

C:\j2sdk1.4.2_06\LIB;C:\j2sdk1.4.2_06\jre\lib;C:\JAVA\iReport-0.4.1\lib\commons-digester.jar;C:\JAVA\iReport-0.4.1\lib\commons-logging.jar;C:\JAVA\iReport-0.4.1\lib\commons-beanutils.jar;C:\JAVA\iReport-0.4.1\lib\commons-collections.jar;C:\JAVA\iReport-0.4.1\lib\itext-1.01.jar;C:\JAVA\jasperreports-0.6.1\lib\xmlparserapis.jar;C:\JAVA\jasperreports-0.6.1\lib\xercesimpl.jar;C:\JAVA\jasperreports-0.6.1\lib\xalan.jar;C:\JAVA\jasperreports-0.6.1\lib\servlet.jar;C:\JAVA\jasperreports-0.6.1\lib\poi-2.0-final-20040126.jar;C:\JAVA\jasperreports-0.6.1\lib\itext-1.01.jar;C:\JAVA\jasperreports-0.6.1\lib\hsqldb-1.61.jar;C:\JAVA\jasperreports-0.6.1\lib\commons-logging-api-1.0.2.jar;C:\JAVA\jasperreports-0.6.1\lib\bsh-1.3.0.jar;C:\JAVA\jasperreports-0.6.1\lib\ant-1.5.1.jar;

R
  1. alguem sabe dizer ou o que pode ser esse erro:

nested by:

java.io.InvalidClassException: net.sj.jasperreports.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 604, local class serialVersionUID = 601


  1. quando o arquivo .jrprint nao é gerado, mesmo sendo dito pra ser gerado, o que pode ser esse erro? por exemplo., essa linha abaixo geraria o .jrprint, mas nao ta gerando:

JasperFillManager.fillReportToFile(diretorio+“rel.jasper”, parameters, con);


  1. e esse tipo de erro abaixo, pode ser o que?

org.xml.sax.SAXParseException: Element type “import” must be declared

R

racelike:
1) alguem sabe dizer ou o que pode ser esse erro:
nested by:
java.io.InvalidClassException: net.sj.jasperreports.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 604, local class serialVersionUID = 601

com relacao a primeira pergunta que eu fiz no post anterior, eu acho que ja tenho a resposta

esse erro acontece caso voce salve e compile o seu .jrxml, e na biblioteca do iReport tem tal versao do jasperreports-x.x.x.jar

quando voce vai rodar o relatorio a partir da sua classe, tem que ter cuidado pra ter a mesma versao do jasperreports-x.x.x.jar no classpath

se a explicacao for outra, entao por favor quem souber diz ai. mas acho que seja isso

R

alguem me ajuda ai por favor

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?

E

Bom tarde pessoal, preciso de uma ajuda.
estou começando a aprender a usar o ireport e estou tentando fazer um gráfico então vi num tutorial que primeiro devia adicionar um grupo,
mas quando adiciono um grupo e compilo no ireport dá o seguinte erro:

Compiling to file… Y:\Java\J2SE\partes\relatorio\grafico\grafico.jasper -> Y:\Java\J2SE\partes\relatorio\grafico\grafico.java
Error compiling the report java source!
it.businesslogic.ireport.ReportClassLoader@16181be java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:107) at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:478) at java.lang.Thread.run(Unknown Source)

mas no C:\Arquivos de programas\JasperSoft\iReport-1.2.4\lib já contém commons digester.

Alguém pode me ajudar?
desde já obrigado.

Ass: Manica

Criado 30 de maio de 2005
Ultima resposta 11 de jul. de 2006
Respostas 6
Participantes 4