{"id":2725,"date":"2022-08-30T15:27:15","date_gmt":"2022-08-30T15:27:15","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/02\/08\/griffon-error-when-running-report-with-jasperreports-collection-of-common-programming-errors\/"},"modified":"2022-08-30T15:27:15","modified_gmt":"2022-08-30T15:27:15","slug":"griffon-error-when-running-report-with-jasperreports-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2022\/08\/30\/griffon-error-when-running-report-with-jasperreports-collection-of-common-programming-errors\/","title":{"rendered":"Griffon: Error when running report with JasperReports-Collection of common programming errors"},"content":{"rendered":"<p>I tried to run this code but it give me error like this:<\/p>\n<pre><code>2013-03-26 22:45:55,546 [pool-2-thread-1] ERROR griffon.util.GriffonExceptionHandler - Uncaught Exception\norg.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: com\/lowagie\/text\/SplitCharacter\n    at org.codehaus.griffon.runtime.util.AbstractUIThreadHandler$1.run(AbstractUIThreadHandler.java:41)\nCaused by: java.lang.NoClassDefFoundError: com\/lowagie\/text\/SplitCharacter\n    at net.sf.jasperreports.engine.JasperExportManager.exportToPdfFile(JasperExportManager.java:145)\n    at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:497)\n    at net.sf.jasperreports.engine.JasperExportManager$exportReportToPdfFile.call(Unknown Source)\n    at report.ReportController$_closure1_closure2.doCall(ReportController.groovy:28)\n    at report.ReportController$_closure1_closure2.doCall(ReportController.groovy)\n    ... 1 more\nCaused by: java.lang.ClassNotFoundException: com.lowagie.text.SplitCharacter\n    ... 6 more\n<\/code><\/pre>\n<p>Here&#8217;s the code:<\/p>\n<p>&#8211;ReportController.groovy&#8211;<\/p>\n<pre><code>import net.sf.jasperreports.engine.JasperCompileManager\nimport net.sf.jasperreports.engine.JasperExportManager\nimport net.sf.jasperreports.engine.JasperFillManager\nimport net.sf.jasperreports.engine.data.JRBeanCollectionDataSource\nimport net.sf.jasperreports.swing.JRViewer\n\nclass ReportController {\n    \/\/ these will be injected by Griffon\n    def model\n    def view\n\n    def report = {\n        def jasperParameter = [:]\n            jasperParameter.REPORT_TITLE = \"Test report\"\n\n        def jasperReport = JasperCompileManager.compileReport(\"report.jrxml\")\n\n        def mapData = [:]\n            mapData.name = \"abc\"\n            mapData.price = 1234\n            def datas = [mapData]\n                JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(datas)\n\n        def jasperPrint = JasperFillManager.fillReport(jasperReport, jasperParameter, dataSource)\n\n        JasperExportManager.exportReportToPdfFile(jasperPrint, \"g:\/sample.pdf\")\n\n        JRViewer viewer = new JRViewer(jasperPrint)\n\n        viewer.setOpaque(true)\n        viewer.setVisible(true)\n\n        def jf = new javax.swing.JFrame ()\n\n        jf.add(viewer)\n        jf.setSize(800, 600)\n        jf.setVisible(true)\n        jf.setDefaultCloseOperation(EXIT_ON_CLOSE)\n    }\n}\n<\/code><\/pre>\n<p>&#8211;ReportView.groovy&#8211;<\/p>\n<pre><code>package report\n\napplication(title: 'report',\n  preferredSize: [320, 240],\n  pack: true,\n  \/\/location: [50,50],\n  locationByPlatform: true,\n  iconImage:   imageIcon('\/griffon-icon-48x48.png').image,\n  iconImages: [imageIcon('\/griffon-icon-48x48.png').image,\n               imageIcon('\/griffon-icon-32x32.png').image,\n               imageIcon('\/griffon-icon-16x16.png').image]) {\n    gridLayout (cols: 1, rows: 1)\n    button (text: 'report', actionPerformed: controller.&amp; report)\n}\n<\/code><\/pre>\n<p>&#8211;report.jrxml&#8211; (I put this file in \/staging folder)<\/p>\n<pre><code>\n\n    \n    \n    \n    \n        \n    \n    \n        \n            \n                \n                \n                    \n                \n                \n            \n        \n    \n    \n        \n            \n                \n                \n                    \n                \n                \n            \n        \n    \n    \n        \n    \n\n<\/code><\/pre>\n<p>I don&#8217;t quite know about .jrxml, i got this sample from the web, if I made a mistake please correct it.<\/p>\n<p>Source: http:\/\/www.iaeronz.com\/?p=562<\/p>\n<p id=\"rop\"><small>Originally posted 2014-02-08 03:35:52. <\/small><\/p>","protected":false},"excerpt":{"rendered":"<p>I tried to run this code but it give me error like this: 2013-03-26 22:45:55,546 [pool-2-thread-1] ERROR griffon.util.GriffonExceptionHandler &#8211; Uncaught Exception org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: com\/lowagie\/text\/SplitCharacter at org.codehaus.griffon.runtime.util.AbstractUIThreadHandler$1.run(AbstractUIThreadHandler.java:41) Caused by: java.lang.NoClassDefFoundError: com\/lowagie\/text\/SplitCharacter at net.sf.jasperreports.engine.JasperExportManager.exportToPdfFile(JasperExportManager.java:145) at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:497) at net.sf.jasperreports.engine.JasperExportManager$exportReportToPdfFile.call(Unknown Source) at report.ReportController$_closure1_closure2.doCall(ReportController.groovy:28) at report.ReportController$_closure1_closure2.doCall(ReportController.groovy) &#8230; 1 more Caused by: java.lang.ClassNotFoundException: com.lowagie.text.SplitCharacter &#8230; 6 more Here&#8217;s the code: &#8211;ReportController.groovy&#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2725","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/2725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=2725"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/2725\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=2725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=2725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=2725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}