Foro sobre Java SE > Ayuda irreport
Hola, la verdad que no conozco mucho launch4j, pero te doy una sugerencia que puede ser lo que esta ocurriendote.
¿Cuando generas el .exe te esta encapsulando tb el fichero y la ruta de... src\\reportes\\Factura.jasper?
¿Has probado a crear esa ruta donde esta tu .exe y meter dentro el fichero del jasper??
Otra cosa, donde te sale Error en el reporte, modifícalo tal que...
...
} catch(HeadlessException | JRException e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
String stackTrace = sw.toString();
JOptionPane.showMessageDialog(null, "Error en el reporte. "+stackTrace, "Error", JOptionPane.ERROR_MESSAGE);
}
Y vuelves a crear el .exe y a ejecutar, de esa manera saldrá la traza de la excepción que esta ocurriendo y quizá a través de ella se pueda detectar el problema.
Bno prueba esas cosas y ya nos cuentas. Un saludo
Buenas, lo primero muchas gracias por su ayuda...
Al final sabe que era? Lo que uste decía, añadir la carpeta con su ruta...
Mira que yo eso lo había probado y mil cosas que probe pero el caso es que ahora si funciona. Muchas gracias, porque ya no sabía ni que hacer que tenía el proyecto terminado y no funcionaba eso...
Un saludo :)
Un saludo y gracias.
Buenas, tengo una duda a ver si me podeis ayudar que me tiene frito...
Al ejecutar mi programa y generar un informe que obtiene los dos parametros de una BD se genera correctamente. Pero a la hora de pasar mi .jar a .exe mediante Launch4j el informe no me lo genera...
Me manda el mensaje que tengo en la excepción "Error en el reporte.", significa que no lo esta encontrado...
¿Como podría cambiar el código o algo para que me funcionara...?
[code]
try {
Map parametros = new HashMap();
parametros.put("NombreCliente", jTextFieldNombreCliente.getText());
parametros.put("Fecha", fecha);
JasperReport reporte = (JasperReport) JRLoader.loadObjectFromLocation("src\\reportes\\Factura.jasper");
JasperPrint reporte_view = JasperFillManager.fillReport(reporte, parametros, cn);
JasperViewer.viewReport(reporte_view);
} catch(HeadlessException | JRException e) {
JOptionPane.showMessageDialog(null, "Error en el reporte.", "Error", JOptionPane.ERROR_MESSAGE);
}
[/code]