Problema NetBeans e JasperReports

4 respostas
Raarm

Eai Galera, eu to tentando criar um relatorio…criei ele todo no iReport até compilei…tdo certo!! Criei um jsp e uma servlet para chamar este jrxml.
No meu projeto eu criei um diretorio dentro do web-inf chamado reports e depois criei os dois docs .jrxml do relatorio. Adicionei tb a lib jasperreports1.3.3.jar no projeto e compilei tdo…nenhum erro. Mas nao consegui executa-la. Dah o seguinte erro:

exception

javax.servlet.ServletException: Servlet execution threw an exception
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
	net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:143)
	GeraNotaFiscal.doGet(GeraNotaFiscal.java:57)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

Ah tb nao conseghui criar o link da jsp para o Servlet…esse erro aparece quando eu coloco o endereço do Servlet direto no browser.

notafiscal.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Nota Fiscal</title>
    </head>
    <body>
   <p >
        <a  target="_blank">
        Gerar Nota Fiscal em PDF
        </a>
    </p>
    </h1>
         </body>
</html>

E a Servlet…

public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException 
    {   
        Connection c = null;
        try
        {
                                String drive = "org.postgresql.Driver";
				String url = "jdbc:postgresql://127.0.0.1:5432/firex";
				Class.forName(drive);
				c = DriverManager.getConnection(url,"postgres","postgres");
        }
        catch(Exception e)
			{
				e.printStackTrace();
				throw new ServletException(e);
			}
        //gera relatorio
        ServletContext context = getServletContext();
        byte[] bytes = null;
        try
        {
            //carrega arquivos Jasper
            String reportSource1 = "/WEB-INF/reports/NF1Firex.jrxml";
            String reportSource2 = "/WEB-INF/reports/CustomerFirex.jrxml";
                     
            JasperReport relatorioJasper = JasperCompileManager.compileReport(reportSource1);
            JasperReport subrelatorioJasper = JasperCompileManager.compileReport(reportSource2);
                  
            Map parametros = new HashMap();
            parametros.put("pageRoot",context.getRealPath("/"));
            parametros.put("subReport",subrelatorioJasper);
            
            //direciona o relatorio para um stream
            bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,c);
            
            
        }
        catch(Exception e)
			{
				e.printStackTrace();
				throw new ServletException(e);
			}
       if(bytes != null && bytes.length &gt 0)
       {
            //envia o relatorio em pdf para o browser
            response.setContentType("application/pdf");
            response.setContentLength(bytes.length);
            ServletOutputStream outputStream = response.getOutputStream();
            outputStream.write(bytes,0,bytes.length);
            outputStream.flush();
            outputStream.close();
       }
       
    }

Me ajudem por favor!!! :?

4 Respostas

fabiozoroastro

Está faltando este jar na sua aplicação:
commons-digester-1.7.jar.
Baixe ele e coloque na sua app. Se não achar me passa seu e-mail que eu te envio.

:slight_smile:

Raarm

Blza…deu certo!! Eu tinha os .jar na pasta o iReport!!!

Kleber-rr

Pessoal, blz??

To precisando de umas dicas sobre iReports. Quais os primeiros passos q devo tomar?? qual o tutorial vcs me recomendam? qual a configuraçao q devo fazer no meu projeto Web??

Agradeço…

ManoJava

Boa tarde

Sinceramente como trabalho com o ireport ja a algum tempo e acompanhei alguns bugs e melhorias no sistema, te aconselho a começar já com a versão 3.7.0 que á a mais recente, pois foram resolvidos alguns bugs de interface, bugs com a passagem de parametros e valores default, e também alguns problemas que existiam com relação a agrupamento e subrelatórios, segue um link que tem um material legal que tem bastante coisa a respeito.

http://www.sourceforge.net/

Att.

Criado 17 de maio de 2007
Ultima resposta 26 de jan. de 2010
Respostas 4
Participantes 4