1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Relatório com jasperReport - java.lang.NoClassDefFoundError: br/com/aghata/EasyWorkingReport/exceptions/ReportException

Olá pessoal, Tentando gerar um relatório e simplesmente aparece essa exception abaixo, tentei modificando o caminho do jar(EasyWorkingReport 1.0.0.03),verifiquei os import de acordo com o exemplo que me passaram(exemplo funcionando) criei o .jasper com parametro e sem, não deixa nem iniciar o servidor tomcat mas quando tiro os try/catch consigo entrar no sistema normalmente porem quando clico "Imprimir" a exception aparece novamente:

sysout:Id da Venda: 1
sysout:Dados da Venda: [Venda [id_venda=1, horario=2015-11-17 19:39:50.0, valor=11028.22, funcionario=Funcionario [id_funcionario=2, nome_funcionario=Funcionario X, cpf=006.996.636-03,  ]]]
-----------
dez 08, 2015 10:07:49 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute
ADVERTÊNCIA: java.lang.NoClassDefFoundError: br/com/aghata/EasyWorkingReport/exceptions/ReportException
javax.el.ELException: java.lang.NoClassDefFoundError: br/com/aghata/EasyWorkingReport/exceptions/ReportException
    at org.apache.el.parser.AstValue.invoke(AstValue.java:260)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)
    at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149)
    at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
    at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814)
    at javax.faces.component.UICommand.broadcast(UICommand.java:300)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: br/com/aghata/EasyWorkingReport/exceptions/ReportException
    at br.pro.csimum.erp.bean.VendaBean.emitirRecibo(VendaBean.java:304)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.el.parser.AstValue.invoke(AstValue.java:247)
    ... 32 more
Caused by: java.lang.ClassNotFoundException: br.com.aghata.EasyWorkingReport.exceptions.ReportException
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    ... 38 more

VendaDAO

public List<Venda> gerarRecibo(Long id_venda){
            Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
            List<Venda> venda = null;

            try {
                Query consulta = sessao.getNamedQuery("Venda.buscarPorCodigo");
                consulta.setLong("id_venda", id_venda);
                venda = (List<Venda>) consulta.list();
            } catch (RuntimeException ex) {
                throw ex;
            } finally {
                sessao.close();
            }
            return venda;
        }

Bean

    public void emitirRecibo()  {

            try {
                VendaDAO vendaDAO = new VendaDAO();
                listaVendas = vendaDAO.gerarRecibo(vendaCadastro.getId_venda());

                System.out.println("Id da Venda: " + vendaCadastro.getId_venda());
                System.out.println("Dados da locação: " + listaVendas);

                FacesContext fc = FacesContext.getCurrentInstance();
                HttpServletResponse response = (HttpServletResponse) fc
                        .getExternalContext().getResponse();
                GeradorRelatorio.wrriteHtmlToResponse(response,
                        GeradorRelatorio.gerarRecibo(listaVendas));        

            } catch (ReportException e) {
                System.out.println("Erro Gerar Recibo: " + e.getMessage());
                e.printStackTrace();
            } catch (IOException ex) {
                System.out.println("Erro: " + ex.getMessage());
            } catch (RuntimeException ex) {
                System.out
                        .println("Erro ao carregar dados da venda para o relatório: "
                                + ex.getMessage());
                ex.printStackTrace();
            }

        }

public class GeradorRelatorio {

    // Chama o recibo
        public static byte[] gerarRecibo(List<Venda> vendas) throws ReportException { // gerarRecibo gera em byte
            String caminhoRelatorioPrincipal = "C:/Users/Everton/workspace01/CeratotheriumSimum/src/main/webapp/relatorios";
            String caminhoImagem = "C:/Users/Everton/workspace01/CeratotheriumSimum/src/main/webapp/relatorios"; // caminho onde está a imagem

            HashMap<String, String> parametros = new HashMap<String, String>();
            parametros.put("CAMINHO_FOTOS", caminhoImagem);
            // Chamando o gerador de recibo que o retorna no formato pdf

                return new EasyWorkingReportFacade().gerarRelatorioPDF("VendaNF", vendas, caminhoRelatorioPrincipal, caminhoImagem, parametros);

        }


        // Usado para conversão para PDF
        public static boolean wrriteHtmlToResponse(ServletResponse response, byte[] conteudo) throws IOException, ReportException{
            ServletOutputStream out = null;
            try {
                response.setContentType("application/pdf");
                response.setContentLength(conteudo.length);

                out = response.getOutputStream();
                out.write(conteudo);
                out.flush();
                response.flushBuffer();

                return true;

            } catch (Exception ex) {
                System.out.println("Error flushing the Response: " + ex.toString());
                throw new ReportException("Problema ao gerar o relatório: ", ex);
            }

        }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags ireport mysql primefaces java java-ee java8 tomcat ou faça a sua própria pergunta.