Estou com dificuldade em gerar um relatório pelo NetBeans usando o JasperReport.
O erro:
Type Exception Report
Message Servlet execution threw an exception
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)Root Cause
java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.javaflow.core.StackRecorder
net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java)net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:120)net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:319)net.sf.jasperreports.engine.JasperRunManager.runToPdf(JasperRunManager.java:242)net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:723)dao.RequisitoDAO.gerarRelatorio(RequisitoDAO.java:44)servlet.acao.doGet(acao.java:133)javax.servlet.http.HttpServlet.service(HttpServlet.java:634)javax.servlet.http.HttpServlet.service(HttpServlet.java:741)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)Note A pilha de erros completa da causa principal está disponível nos logs do servidor.
Botão para gerar PDF:
<a id=pdfButton type="text" href="/GerenciadorProjetos/acao?param=relatorioRequisito">Gerar PDF</a>
servlet acao:
else
if () {parametro.equals(“relatorioRequisito”)
byte[] bytes =new RequisitoDAO().gerarRelatorio();response.setContentType("application/pdf"); response.setContentLength(bytes.length); try (ServletOutputStream outStream = response.getOutputStream()) { outStream.write(bytes, 0, bytes.length); outStream.flush(); }
RequisitoDAO().gerarRelatorio():
public class RequisitoDAO {
ConectaBanco conecta = new ConectaBanco(); //global String sql = "";public byte[] gerarRelatorio() {
try {File reportFile = new File(getClass().getClassLoader().getResource("relatorios/relatorioRequisitos.jasper").getPath()); System.out.println("caminho rel: " + reportFile.getPath()); Map parameters = new HashMap(); var bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parameters, conecta.getCon()); return bytes; } catch (Exception e) { System.out.println("erro ao gerar relatorio: " + e); } return null; }
método getCon():
public Connection getCon() { conn = null; try { Class.forName(driver); } catch (ClassNotFoundException ex) { System.out.println("Error: " + ex); } try { conn = DriverManager.getConnection(path, user, pass); } catch (SQLException ex) { System.out.println("Error: " + ex); }return conn; }
Libraries:

Fico grato pelo auxílio de vocês, não consigo descobrir o motivo de não estar funcionando. Dentro do JasperStudio consegui montar e conectar com o BD sem problemas, mas via NetBeans não está dando certo…
