Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > iReport ошибка вызова


Автор: skif18 21.4.2009, 12:20
процедура вызова и формирования репорта...

Код

    private JButton getJButton() {
//        public String lnum;
        if (jButton == null) {
            jButton = new JButton();
            jButton.setBounds(new Rectangle(1, 150, 120, 41));
            jButton.setFont(new Font("dialog", Font.BOLD, 11));
            jButton.setText("Show report");
            
            jButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                    Connection connection = null;

//                       String jasperFile = "./bon.jasper";
                    //String jasperFile = "./bon1.jrxml";
                    String pdfFile = "D:/pdf/bon2.pdf";

//                     params used for passing the parameter.
                    HashMap parameters = new HashMap();
                    //params.put("p_id", 30);
                    parameters.put("fnum", jTextField.getText().trim());
//                    parameters.put("lnum", jTextField1.getText().trim());
                //    params.put("SELECT jrbp.datbp AS datbp,jrbp.kvod AS kvod,jrbp.nd AS nd,jrbp.pr_annul AS pr_annul,jrbp.sumo AS sumo,jrbp.sumv AS sumv,jrbp.sumd AS sumd,s101.adpot AS adpot,s101.npot AS snpot,s215.fk AS fk,vodil.kvod AS vkvod,vodil.nvod AS nvod,jrbp.kpot AS jkpot,s101.kpot AS kpot,s101.kpl AS skpl,s215.kpl AS kpl FROM public.s101 s101 INNER JOIN public.jrbp jrbp ON s101.kpot = jrbp.kpot INNER JOIN public.vodil vodil ON jrbp.kvod = vodil.kvod INNER JOIN public.s215 s215 ON s101.kpl = s215.kpl  where  jrbp.pr_annul=0 and jrbp.nbp=457169", 30);
                    try {
//                     get database connection.
                        
                        if (connection==null){
                            connection = DBConnector.getConnection();
                        }
//                        JRProperties.setProperty(JRProperties.COMPILER_CLASS, "net.sf.jasperreports.engine.design.JRJdtCompiler");
                        
                    JasperReport jasperFile = JasperCompileManager.compileReport("./bon.jrxml");
//                    JasperPrint jasperPrintData = JasperFillManager.fillReport(jasperFile , params,connection);
                    JasperPrint print = JasperFillManager.fillReport(jasperFile, parameters,DBConnector.getConnection());
                    JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
                    exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
                    pdfFile);
                    exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
                    exporter.exportReport();
                    System.out.println("Created file: " + pdfFile);

                    } catch (JRException e1) {
                    e1.printStackTrace();
                    System.exit(1);
                    } catch (Exception e1) {
                    e1.printStackTrace();
                    System.exit(1);
                    }
                }
            });
            
            
        }
        return jButton;
    }


Запрос в самом репорте с параметром fnum 

Код

SELECT
     jrbp."datbp" AS datbp,
     jrbp."kvod" AS kvod,
     jrbp."nd" AS nd,
     jrbp."pr_annul" AS pr_annul,
     jrbp."sumo" AS sumo,
     jrbp."sumv" AS sumv,
     jrbp."sumd" AS sumd,
     s101."adpot" AS adpot,
     s101."npot" AS snpot,
     s215."fk" AS fk,
     vodil."kvod" AS vkvod,
     vodil."nvod" AS nvod,
     jrbp."kpot" AS jkpot,
     s101."kpot" AS kpot,
     s101."kpl" AS skpl,
     s215."kpl" AS kpl
FROM
     "public"."s101" s101 INNER JOIN "public"."jrbp" jrbp ON s101."kpot" = jrbp."kpot"
     INNER JOIN "public"."vodil" vodil ON jrbp."kvod" = vodil."kvod"
     INNER JOIN "public"."s215" s215 ON s101."kpl" = s215."kpl"  where  jrbp."pr_annul"=0 AND jrbp."nd"=$(fnum)


и при запуске выдает ошибку:
Код

21.04.2009 12:10:25 org.apache.commons.digester.Digester endElement
SEVERE: End event threw error
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/MethodUtils
    at org.apache.commons.digester.CallMethodRule.end(CallMethodRule.java:626)
    at org.apache.commons.digester.Rule.end(Rule.java:253)
    at org.apache.commons.digester.Digester.endElement(Digester.java:1332)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1863)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:150)
    at bon.Bon$1.actionPerformed(Bon.java:289)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.beanutils.MethodUtils
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 48 more
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/beanutils/MethodUtils
    at org.apache.commons.digester.CallMethodRule.end(CallMethodRule.java:626)
    at org.apache.commons.digester.Rule.end(Rule.java:253)
    at org.apache.commons.digester.Digester.endElement(Digester.java:1332)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at org.apache.commons.digester.Digester.parse(Digester.java:1863)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:150)
    at bon.Bon$1.actionPerformed(Bon.java:289)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.beanutils.MethodUtils
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 48 more


Кто нибудь может подсказать в чем ошибка...?


Автор: AntonSaburov 21.4.2009, 14:11
Может надо библиотеку подключить - http://commons.apache.org/beanutils/

Автор: skif18 21.4.2009, 16:03
AntonSaburov, все все. разобрался... Как разобрался выкладывать или не стоит?
Поехало все отлично. единственно что, даю так...
Код

 JasperViewer.viewReport(jasperPrint);

после закрытия этого окна Viewer'a, закрывает и приложение полностью... че за..? 

Автор: Samotnik 22.4.2009, 08:27
каким образом это к  Java tools & IDE's  относится ?  smile 

Автор: skif18 23.4.2009, 13:32
Samotnik, программа iReport это не tools? Тогда в какой раздел форума надо было помещать сию тему?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)