[RESOLVIDO]Ajuda com Exception - Formulário no Jasper Reports

1 resposta
MarceloMVT
Bom dia. Estou com uma Exception que não consigo resolver, bom eu estou criando um recibo, então segue as classe que uso; tem uma chamada ConnectionFactory
package br.com.view;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException exc) {

            exc.printStackTrace();
        }
    }
    public static Connection getConnection(
            String url,
            String usuario,
            String senha) throws SQLException {
        return DriverManager.getConnection(url, usuario, senha);
    }

    public static Connection getSakilaConnection() throws SQLException {
        return getConnection(
                "jdbc:mysql://localhost/entulho",
                "root",
                "root");
    }
}
Depois a classe ReportUtils
package br.com.view;
import java.awt.BorderLayout;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Map;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.swing.JRViewer;
 
public class ReportUtils {

    public static void openReport(
            String titulo,
            InputStream inputStream,
            Map parametros,
            Connection conexao ) throws JRException {

        JasperPrint print = JasperFillManager.fillReport(
                inputStream, parametros, conexao );
        viewReportFrame( titulo, print );
 
    }

    public static void openReport(
            String titulo,
            InputStream inputStream,
            Map parametros,
            JRDataSource dataSource ) throws JRException {
        JasperPrint print = JasperFillManager.fillReport(
                inputStream, parametros, dataSource );
        viewReportFrame( titulo, print );
 
    }
    private static void viewReportFrame( String titulo, JasperPrint print ) {
        /*
         * Cria um JRViewer para exibir o relatório.
         * Um JRViewer é uma JPanel.
         */
        JRViewer viewer = new JRViewer( print );
        // cria o JFrame
        JFrame frameRelatorio = new JFrame( titulo );
        // adiciona o JRViewer no JFrame
        frameRelatorio.add( viewer, BorderLayout.CENTER );
        // configura o tamanho padrão do JFrame
        frameRelatorio.setSize( 500, 500 );
        // maximiza o JFrame para ocupar a tela toda.
        frameRelatorio.setExtendedState( JFrame.MAXIMIZED_BOTH );
        // configura a operação padrão quando o JFrame for fechado.
        frameRelatorio.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
        // exibe o JFrame
        frameRelatorio.setVisible( true );
    }
}

Ai passo os parametros assim para o método

String nomeS = (String) clinome.getText();
     String dataeS = (String) dataentrega.getText();
     String dataSaS = (String) datasaida.getText();
     String endeS = (String) ruata.getText()+ ruata.getText()+bairrota.getText();
     String caclocS= (String)cacambaslocadas.getText();
     String totalS = (String)totalnota.getText();
     String qntareiao = String.valueOf(Variaveis.multareiao);
     String qntareiam = String.valueOf(Variaveis.multmedia);
     String qntareiaf = String.valueOf(Variaveis.multfina);
     String valorareiaS = (String) areiao.getText();
     String valorAMS = (String) areiamedia.getText();
     String valorAFS = (String) areiafina.getText();
        try {
            impremirrecibo(nomeS,dataeS,dataSaS,endeS,caclocS,totalS,qntareiao, qntareiam, qntareiaf, valorareiaS, valorAMS, valorAFS);
        } catch (JRException ex) {
            Logger.getLogger(LocacaoView.class.getName()).log(Level.SEVERE, null, ex);
        }

e o método

public void impremirrecibo(String nomeS, String dataeS, String dataSaS,String endeS,String caclocS,String totalS,
             String qntareiao,String qntareiam, String qntareiaf,String valorareiaS, String valorAMS, String valorAFS
             ) throws JRException {
        InputStream inputStream;
        inputStream = getClass().getResourceAsStream("ReciboPedido.jasper");
        Map parametros = new HashMap();
        
        parametros.put("cliente", nomeS);
        parametros.put("datapedido", dataeS);
        parametros.put("datafinal", dataSaS);
        parametros.put("endereco", endeS);
        parametros.put("cacamba", caclocS);
        parametros.put("totalpedido", totalS);
        parametros.put("areiao", qntareiao);
        parametros.put("areiamedia", qntareiam);
        parametros.put("areiafina", qntareiaf);
        parametros.put("valorareiao", valorareiaS);
        parametros.put("valorareiamedia", valorAMS);
        parametros.put("valorareiafina", valorAFS);
        
        try {

            // abre o relatório
            ReportUtils.openReport("Relatório Geral", inputStream, parametros,
                    ConnectionFactory.getSakilaConnection());

        } catch (SQLException | JRException exc) {
            exc.printStackTrace();
        }

    }
e por fim a exception
run:
[EL Info]: 2013-04-22 10:40:25.636--ServerSession(14346890)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Info]: 2013-04-22 10:40:26.318--ServerSession(14346890)--file:/C:/Users/MARCELO/Desktop/Software DiskEntulho/DiskEntulho 2.0/DiskEntulho/build/classes/_entulhoPU login successful
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
	at net.sf.jasperreports.engine.util.JRLoader.<clinit>(JRLoader.java:65)
	at net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:99)
	at net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:95)
	at net.sf.jasperreports.engine.DefaultJasperReportsContext.<init>(DefaultJasperReportsContext.java:72)
	at net.sf.jasperreports.engine.DefaultJasperReportsContext.<clinit>(DefaultJasperReportsContext.java:60)
	at net.sf.jasperreports.engine.JasperFillManager.getDefaultInstance(JasperFillManager.java:85)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:824)
	at br.com.view.ReportUtils.openReport(ReportUtils.java:21)
	at br.com.view.LocacaoView.impremirrecibo(LocacaoView.java:1507)
	at br.com.view.LocacaoView.jButton2ActionPerformed(LocacaoView.java:1366)
	at br.com.view.LocacaoView.access$2700(LocacaoView.java:33)
	at br.com.view.LocacaoView$FormListener.actionPerformed(LocacaoView.java:1087)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:682)
	at java.awt.EventQueue$3.run(EventQueue.java:680)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:696)
	at java.awt.EventQueue$4.run(EventQueue.java:694)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	... 49 more

Desculpa se ficou extenso, é que não faço ideia de onde está o erro. e desde já obrigado

1 Resposta

MarceloMVT

Eu resolvi o problema utilizando um sistema todo 32 bits, foi só isso e funcionou perfeitamente.

Criado 22 de abril de 2013
Ultima resposta 26 de abr. de 2013
Respostas 1
Participantes 1