Boa tarde,
Estou aprendendo a gerar relatorios com jasperreports e ireport para web, porém estou tendo o seguinte erro
root cause
java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:138)
net.sf.jasperreports.engine.JasperPrintManager.printReportToPdfFile(JasperPrintManager.java:121)
net.sf.jasperreports.engine.JasperManager.printReportToPdfFile(JasperManager.java:355)
GeraRelatorio.doGet(GeraRelatorio.java:35)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
este é o meu servlet:
import net.sf.jasperreports.engine.*;
import java.util.*;
import java.sql.*;
import java.io.InputStream;
import javax.servlet.*;
import javax.servlet.http.*;
public class GeraRelatorio extends HttpServlet {
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost/teste";
private static final String login = "root";
private static final String passwd = "";
private static final String urlBase = "/report/";
private static final String pageRoot = "/E:/Tomcat 5.0/webapps/relatorios";
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
try {
// carrega o relatório compilado
InputStream stream = getServletContext().getResourceAsStream("/exemplo3.jasper");
JasperReport relatorio = JasperManager.loadReport(stream);
// estabelece uma conexão JDBC (seria melhor usar DataSources J2EE)
Class.forName(driver);
Connection con = DriverManager.getConnection(url, login, passwd);
//Determina o nome do arquivo temporário
String nomeArq = request.getSession().getId() + ".pdf";
// executa o relatório e salva no arquivo temporário
JasperPrint impressao = JasperManager.fillReport(relatorio, new HashMap(), con);
JasperManager.printReportToPdfFile(impressao, pageRoot + urlBase + nomeArq);
// envia um redirect para o arquivo
response.sendRedirect(urlBase + nomeArq);
}
catch (Exception e) {
throw new ServletException(e);
}
}
}
Este erro só acontece quando tento transformar em .pdf,
e acontece quando chega na linha:
JasperManager.printReportToPdfFile(impressao, pageRoot + urlBase + nomeArq);
Alguem poderia me ajudar ? :roll:
