minhduc Wrote: Is a web application? When you deployed it on server, the File location and resource location are not same. If not, make sure com/jrxml/FirstReport.xml is located on your project folder, NOT in src folder. Anyway, I think you shoud use compileReport method and InputStream object. InputStream input = this.getClass().getResourceAsStream([your resource jrxml template ]); JasperDesign design = JRXmlLoader.load(input); JasperReport report = JasperCompileManager.compileReport(design); System.out.println("Template id loaded and complied"); JasperPrint print = JasperFillManager.fillReport(report, parameters, jRBeanArrayDataSource); System.out.println("Filled data"); JRExporter exporter = null; exporter = new JRXlsExporter(); Post Edited by minhduc at 04/02/2010 08:36 As mentioned in the question, I am developing a swing based application, not web based. I can use compileReport() as I can get a reference to InputStream. But looking ahead, I will require to store the .jasper compiled file so as to avoid re-compiling it again every time it is needed. regards, nirvan.