Para el manejo de los reportes he creado un paquete llamado reportes en el se guardaran el .jasper y el .jxml de cada reporte que realice.
Para "invocar" al reporte utilizo estas líneas de código.
Código:
try { String master = System.getProperty("user.dir") +"\\src\\reportes\\factura.jasper"; if (master == null) { System.out.println("No encuentro el archivo del reporte maestro."); System.exit(2); } JasperReport masterReport = null; try { masterReport = (JasperReport) JRLoader.loadObject(master); } catch (JRException e) { System.out.println("Error cargando el reporte maestro: " + e.getMessage()); System.exit(3); }
Funciona perfectamente desde el Entorno de desarrollo ; pero cuando creo el jar, existen problemas con la ruta, ya que el //scr// no queda en el jar.
La Solución que se me ocurre es cuando valla a generar el jar eliminar el //scr// y mientras desarrolle dejarlo; pero pues no es algo muy optimo.. entonces espero me puedan ayudar a solucionar este problemita; saber tal vez como utilizar una ruta relativa que funcione en los dos casos.