My code is as follows. It uses dynamic jasper jar file to create jrxml file. package dynamicjasper.report; import ar.com.fdvs.dj.core.DynamicJasperHelper; import ar.com.fdvs.dj.core.layout.ClassicLayoutManager; import ar.com.fdvs.dj.domain.DynamicReport; import ar.com.fdvs.dj.domain.builders.FastReportBuilder; import java.io.File; import java.io.FileOutputStream; import java.util.Date; import java.util.HashMap; public class FastReportTest //extends BaseDjReportTest { public DynamicReport buildReport() throws Exception { /*** * Creates the DynamicReportBuilder and sets the basic options for * the report */ FastReportBuilder drb = new FastReportBuilder(); drb.addColumn("State", "state", String.class.getName(),30) /*.addColumn("Branch", "branch", String.class.getName(),30) .addColumn("Product Line", "productLine", String.class.getName(),50) .addColumn("Item", "item", String.class.getName(),50) .addColumn("Item Code", "id", Long.class.getName(),30,true) .addColumn("Quantity", "quantity", Long.class.getName(),60,true) .addColumn("Amount", "amount", Float.class.getName(),70,true) .addGroups(2) */ .setTitle("November 2006 sales report") .setSubtitle("This report was generated at " + new Date()) .setUseFullPageWidth(true); DynamicReport dr = drb.build(); return dr; } public static void main(String[] args) throws Exception { File outFile = new File("C:\dn_test.jasper"); FileOutputStream outputStream = new FileOutputStream(outFile); FastReportTest test = new FastReportTest(); DynamicReport dr = test.buildReport(); DynamicJasperHelper.generateJRXML(dr, new ClassicLayoutManager() , new HashMap(), "UTF-8", outputStream); //test.testReport(); //JasperViewer.viewReport(test.jp); //finally display the report report // JasperDesignViewer.viewReportDesign(jr); } }