Erro utilizando JasperReport com JSP

13 respostas
S

Boa tarde.

Estou enfrentando problemas ao utilizar o JasperReport em uma página JSP.

Estou utilizando um exemplo que vem com o Jasper e o mesmo não funciona. Acredito que seja algum problema de configuração. Como mostra a mensagem de erro.

Mensagem de erro:

JasperReports encountered this error : 
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:53)
	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.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)

Este é o código do JSP.

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

<%
	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>

Qualquer ajuda é muito bem vinda!

13 Respostas

furutani

Você colocou no /WEB-INF/lib os seguintes jars?
commons-beanutils.jar
commons-collections.jar
commons-dbcp-1.1.jar
commons-digester.jar
commons-logging.jar
commons-pool-1.1.jar

S

Salve Furutani.

Em WEB-INF/lib tem os seguintes JAR´s:

commons-beanutils-1.5.jar
commons-collections-2.1.jar
commons-digester-1.3.jar
commons-logging-1.0.2.jar
commons-logging-api-1.0.2.jar
itext-1.01.jar
jasperreports-0.6.7.jar
jdt-compiler.jar

Como falei esse é o exemplo do JasperReports e ja continha estes arquivos.

Não sei se tem a ver, mas estou utilizando o tomcat 5.0.28. :roll:

No aguardo.

furutani

Eu também uso o Jasper com essa versão do tomcat e funciona normal. Experimenta parar e iniciar o tomcat de novo.
Se não der certo jogue esses jars em $TOMCAT_HOME/common/lib e reinicie o tomcat pra ver se funciona assim.

São apenas chutes!

S

Furutani, coloquei os arquivos na pasta que tu mencionou e quando reiniciei o tomcat ele não exibia nenhuma página mais…

Estou usando o JasperReports 0.6.7. Qual a versão que tu utiliza?

furutani

vixi!!!
Desfaz a operação.
Eu uso o Jasper 0.6.1.
Eu não faço a menor idéia do que está acontecendo.
Não dá nenhum erro?

PS. pelo código jsp que voce postou, voce só esta pedindo para compilar o relatório. falta o código para gerar o relatório não é?

S

Sim é apenas para compilar e ja da esse monte do bobagem!

Vou tentar a Jasper 0.6.1

S

Furutani, não tem essa versão no site do Jasper…

Tu poderia me enviar, o arquivo ou um link, por e-mail?

S

Furutani, procurei e encontrei o jasper 0.6.1
Mas os erros continuam e dando aquele chute de copiar os JAR para o common\lib o tomcat não funciona!

Se tiver mais alguma idéia, pode mandá-la. Ja estou ficando preocupado com essa situação

S

Gente, ja não sei mais o que fazer com esse problema com relação ao jasper…

Se alguem poder, por favor me de uma ajuda!

T

Amigo.
Quando eu inicio meu TOMCAT ele da um caminhao de erros tb. Mas a minha aplicação funciona na boua. O que eu fiz foi colocar TODOS os jars que estao no \lib do ireports (Ctrl+C, Ctrl+V) no diretorio \WEB-INF\lib da aplicação no TOMCAT.

Grinvon

Exato

R

eu to com um problema de relatorio usando o jasperreport e o tomcat

eu monto minha consulta sql a partir do JSP, onde os itens selecionados montam o WHERE da consulta. tudo certo até ai.

o JasperViewer tambem exibe tudo certo o relatorio. e o tomcat está rodando nesse momento.

quando eu fecho o relatorio, o tomcat dá um shutdown. é esse o problema.

aparece a mensagem no console “Stopping service Tomcat-Standalone”

alguem sabe o que pode ser isso?

R

eu encontrei um cara com esse mesmo problema meu acima. mas nao tinha solucao. a solucao era esquecer de exibir o relatorio pelo JasperViewer e salvar logo em html, pdf…

por enquanto vou salvar apenas em pdf e nao ficar exibindo o relatorio pelo viewer

http://www.mail-archive.com/[email removido]/msg152448.html

Criado 25 de maio de 2005
Ultima resposta 14 de jun. de 2005
Respostas 13
Participantes 5