Problemas na geração do Relatório IReport

O relatório já está feito, o problema ocorre na hora de chamar o relatório pelo eclipse: o erro ocorrer nesta linha:“bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);”.

O erro que ele apresenta é esse: “Source not found for InvokerServlet.serveRequest(HttpServletRequest, HttpServletResponse) line: 470”

a minha classe é essa:

package br.com.globalcode.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.util.JRLoader;

public class GeraRelatorioPedidos extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException  {
    
    // gera o relatório
    ServletContext context = getServletContext();
    byte[] bytes = null;
    try {
        // carrega os arquivos jasper
        JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(
                context.getRealPath("/WEB-INF/Relatorio/Agenda.jasper"));
         // parâmetros, se houverem
        Map parametros = new HashMap();
        // direciona a saída do relatório para um stream
        bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);
    } catch (JRException e) {
        e.printStackTrace();
    }
    if (bytes != null && bytes.length > 0) {
        // envia o relatório em formato PDF para o browser
        response.setContentType("application/pdf");
        response.setContentLength(bytes.length);
        ServletOutputStream ouputStream = response.getOutputStream();
        ouputStream.write(bytes, 0, bytes.length);
        ouputStream.flush();
        ouputStream.close();
    }
    
}

}

no tomcat apresenta esse trace!!

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Invoker service() exception
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:477)
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

root cause

java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(JasperExportManager.java:162)
Pac.RelJasp.service(RelJasp.java:62)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.


Apache Tomcat/5.0.25

Ta faltando jar no seu classpath !

O iText :wink: