{"id":455,"date":"2010-03-12T22:58:20","date_gmt":"2010-03-12T17:28:20","guid":{"rendered":"http:\/\/www.tothenew.com\/blog\/?p=455"},"modified":"2016-12-19T15:06:05","modified_gmt":"2016-12-19T09:36:05","slug":"compiling-sub-reports-in-jasper-reports","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/","title":{"rendered":"Compiling sub-reports in Jasper reports"},"content":{"rendered":"<p>In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 &amp; the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file upto 1 level.It do not compiles subreport.<\/p>\n<p>When we compile.jrxml files using iReport, it takes the hardcoded path of the local machine &amp; hence throws an exception in other environment.<br \/>\nSo to overcome this problem i used the following script by putting it in CompileReports.groovy file under scripts folder.<\/p>\n<blockquote>\n<div class=\"code\">\n<pre lang=\"groovy\">  import org.codehaus.groovy.grails.commons.GrailsClassUtils as GCU\r\ngrailsHome = Ant.project.properties.\"environment.GRAILS_HOME\"\r\nincludeTargets &lt;&lt; new File(\"${grailsHome}\/scripts\/Init.groovy\")\r\ntarget('default': \"Compile all Jasper Reports\") {\r\n    compileAll()\r\n}\r\ntarget(compileAll: \"Compile all *.jrxml files as *.jasper\") {\r\n    depends(classpath)\r\n    def sourceDir = (config.'jasper.dir.reports'?:'reports')\r\n    Ant.echo \"sourceDir = ${sourceDir}\"\r\n    Ant.taskdef(classpathref:\"grails.classpath\",name: \"jrc\", classname: \"net.sf.jasperreports.ant.JRAntCompileTask\")\r\n    mkdir(dir:\"~\/.grails\/.jasper\")\r\n    jrc(srcdir:\"${basedir}\/web-app\/${sourceDir}\", tempdir: \"~\/.grails\/.jasper\") {include(name:\"**\/*.jrxml\")\r\n    }\r\n}<\/pre>\n<\/div>\n<\/blockquote>\n<p>To compile reports use the command:<\/p>\n<p><strong>grails compile-reports<\/strong><\/p>\n<p>Helpful links:- <\/p>\n<p>Hope it helps.<\/p>\n<p>Vishal Sahu<br \/>\nvishal@intelligrape.com<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 &amp; the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":55,"footnotes":""},"categories":[7],"tags":[184,185,159,183],"class_list":["post-455","post","type-post","status-publish","format-standard","hentry","category-grails","tag-compile-reports","tag-grails-jasper","tag-jasper","tag-subreport"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 &amp; the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Vishal Sahu\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Compiling sub-reports in Jasper reports | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 &amp; the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Compiling sub-reports in Jasper reports | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 &amp; the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#article\",\"name\":\"Compiling sub-reports in Jasper reports | TO THE NEW Blog\",\"headline\":\"Compiling sub-reports in Jasper reports\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vishal\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2010-03-12T22:58:20+05:30\",\"dateModified\":\"2016-12-19T15:06:05+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":11,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#webpage\"},\"articleSection\":\"Grails, compile reports, grails jasper, Jasper, jasper subreport\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#listItem\",\"name\":\"Compiling sub-reports in Jasper reports\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#listItem\",\"position\":3,\"name\":\"Compiling sub-reports in Jasper reports\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vishal\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vishal\\\/\",\"name\":\"Vishal Sahu\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/04ab2997182dff5e957d14b30bdc77fc09933e3d6e7f97b00f8ee27b193602a2?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Vishal Sahu\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/\",\"name\":\"Compiling sub-reports in Jasper reports | TO THE NEW Blog\",\"description\":\"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 & the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/compiling-sub-reports-in-jasper-reports\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vishal\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vishal\\\/#author\"},\"datePublished\":\"2010-03-12T22:58:20+05:30\",\"dateModified\":\"2016-12-19T15:06:05+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Compiling sub-reports in Jasper reports | TO THE NEW Blog","description":"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 & the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file","canonical_url":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#article","name":"Compiling sub-reports in Jasper reports | TO THE NEW Blog","headline":"Compiling sub-reports in Jasper reports","author":{"@id":"https:\/\/www.tothenew.com\/blog\/author\/vishal\/#author"},"publisher":{"@id":"https:\/\/www.tothenew.com\/blog\/#organization"},"datePublished":"2010-03-12T22:58:20+05:30","dateModified":"2016-12-19T15:06:05+05:30","inLanguage":"en-US","commentCount":11,"mainEntityOfPage":{"@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#webpage"},"isPartOf":{"@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#webpage"},"articleSection":"Grails, compile reports, grails jasper, Jasper, jasper subreport"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.tothenew.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/www.tothenew.com\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#listItem","name":"Compiling sub-reports in Jasper reports"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#listItem","position":3,"name":"Compiling sub-reports in Jasper reports","previousItem":{"@type":"ListItem","@id":"https:\/\/www.tothenew.com\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/www.tothenew.com\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/www.tothenew.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.tothenew.com\/blog\/author\/vishal\/#author","url":"https:\/\/www.tothenew.com\/blog\/author\/vishal\/","name":"Vishal Sahu","image":{"@type":"ImageObject","@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/04ab2997182dff5e957d14b30bdc77fc09933e3d6e7f97b00f8ee27b193602a2?s=96&d=mm&r=g","width":96,"height":96,"caption":"Vishal Sahu"}},{"@type":"WebPage","@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#webpage","url":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/","name":"Compiling sub-reports in Jasper reports | TO THE NEW Blog","description":"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 & the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.tothenew.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/#breadcrumblist"},"author":{"@id":"https:\/\/www.tothenew.com\/blog\/author\/vishal\/#author"},"creator":{"@id":"https:\/\/www.tothenew.com\/blog\/author\/vishal\/#author"},"datePublished":"2010-03-12T22:58:20+05:30","dateModified":"2016-12-19T15:06:05+05:30"},{"@type":"WebSite","@id":"https:\/\/www.tothenew.com\/blog\/#website","url":"https:\/\/www.tothenew.com\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.tothenew.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Compiling sub-reports in Jasper reports | TO THE NEW Blog","og:description":"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 &amp; the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file","og:url":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/","og:image":"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Compiling sub-reports in Jasper reports | TO THE NEW Blog","twitter:description":"In my project we needed to generate pdf reports. The tool we used to design reports is IReport 2.0.5 &amp; the plugin used is grails jasper plugin.The plugin works fine with simple reports but fails when it come to complex report which uses subreport.The problem is that the plugin compiles .jrxml file to .jasper file","twitter:image":"https:\/\/www.tothenew.com\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"455","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-30 08:16:03","updated":"2024-02-29 08:35:14","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.tothenew.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.tothenew.com\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tCompiling sub-reports in Jasper reports\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.tothenew.com\/blog"},{"label":"Grails","link":"https:\/\/www.tothenew.com\/blog\/category\/grails\/"},{"label":"Compiling sub-reports in Jasper reports","link":"https:\/\/www.tothenew.com\/blog\/compiling-sub-reports-in-jasper-reports\/"}],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=455"}],"version-history":[{"count":0,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/455\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}