Jasper Reports

agua_clara
05 de Noviembre del 2008
Hola,

tengo un problema a la hora de utilizar jasper reports en mi aplicación. Tengo una aplicación que distribuyo via Java Web Start con un .jar en el que incluyo el código y los ficheros .jasper. El problema lo tengo a la hora de cargar los ficheros .jasper porque no los carga bien.

El caso es que si en el cliente creo especificamente una carpeta donde esten los ficheros .jasper e indico en el código el path, me lo coge bien.

Pero lo que necesito hacer es incorporar estos ficheros .jasper en el .jar de la aplicación. En este caso, si indico el path relativo de donde están los .jasper en el .jar me da un error. Encuentra el fichero, pero no sé porque no lo "abre":

net.sf.jasperreports.engine.JRException: Error loading object from InputStream
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:196)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)
...

Y el código que tengo es:
...
ClassLoader cl = this.getClass().getClassLoader();
InputStream fis =(cl.getResourceAsStream("resources/form.jasper"));
...
jasperPrint = JasperFillManager.fillReport(fis, paramMap, dataSource);
...

El error me da en la linea de creación del InputStream.

Agradeceré cualquier comentario que me pueda ayudar