import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.design.*; import net.sf.jasperreports.engine.xml.*; import java.io.*; public class JrxmlRendererTest { public static void main(String[] args) throws Exception { String path = args.length > 0 ? args[0] : "/tmp/test_render.jrxml"; File f = new File(path); System.out.println("File: " + f.getAbsolutePath() + " exists=" + f.exists() + " len=" + f.length()); // Read content to check XML validity try (BufferedReader br = new BufferedReader(new FileReader(f))) { String line; int lineNum = 0; while ((line = br.readLine()) != null && lineNum < 5) { System.out.println(" L" + (++lineNum) + ": " + line); } } try { System.out.println("Step 1: Loading JRXML..."); JasperDesign design = JRXmlLoader.load(f); System.out.println(" OK - name=" + design.getName()); } catch (JRException e) { System.err.println("JR ERROR: " + e.getMessage()); e.printStackTrace(); } catch (Exception e) { System.err.println("GENERIC ERROR: " + e.getClass().getName() + ": " + e.getMessage()); e.printStackTrace(); } catch (Error e) { System.err.println("FATAL ERROR: " + e.getClass().getName() + ": " + e.getMessage()); e.printStackTrace(); } } }