Foros del Web » Programación para mayores de 30 ;) » Java »

Empaquetar reportes en el jar

Estas en el tema de Empaquetar reportes en el jar en el foro de Java en Foros del Web. Buenas noches tengo una pequeña duda estoy trabajando con ireport a lo que ejecuto me funciona bien , pero al momento de ejecutar el jar ...
  #1 (permalink)  
Antiguo 02/02/2015, 21:43
 
Fecha de Ingreso: enero-2015
Ubicación: Guayaquil
Mensajes: 17
Antigüedad: 9 años, 10 meses
Puntos: 0
Exclamación Empaquetar reportes en el jar

Buenas noches tengo una pequeña duda estoy trabajando con ireport a lo que ejecuto me funciona bien , pero al momento de ejecutar el jar desde otra carpeta y llamo a la visualizacion del reporte me arroja lo sgte.
Código:
net.sf.jasperreports.engine.JRException: Resource not found at : C:\Users\User\G
oogle Drive\Proriosa\SistemaVentaProriosa\src\Reportes\reportResumenVentas_subre
port.jasper
        at net.sf.jasperreports.repo.RepositoryUtil.getResourceFromLocation(Repo
sitoryUtil.java:145)
        at net.sf.jasperreports.repo.RepositoryUtil.getReport(RepositoryUtil.jav
a:107)
        at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport(JRFil
lSubreport.java:349)
        at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JR
FillSubreport.java:382)
        at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubre
port.java:307)
        at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFi
llElementContainer.java:259)
        at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
456)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFo
oterSamePage(JRVerticalFiller.java:1100)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerti
calFiller.java:1065)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVer
ticalFiller.java:329)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
alFiller.java:159)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
963)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
873)
        at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:87)
        at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.
java:457)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
nager.java:864)
        at Dao.FacturaDAO.mostrarReporteResumenVentaLoFecha(FacturaDAO.java:146)

        at GUI.FechaReporteGUI.btnGenerarActionPerformed(FechaReporteGUI.java:13
7)
        at GUI.FechaReporteGUI.access$000(FechaReporteGUI.java:19)
        at GUI.FechaReporteGUI$1.actionPerformed(FechaReporteGUI.java:55)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
Me dice que no encuentra el subreporte , la pregutna es como podria empaquetar ese subreporte en el jar que al momento de llevarmelo a otra computadora no me arroje este error, o si es el caso que estoy realizando mal.

Saludos.
  #2 (permalink)  
Antiguo 03/02/2015, 02:18
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Empaquetar reportes en el jar

Buenas,

Aparentemente cargas los ficheros con una ruta absoluta. Debes cargar los recursos a partir del classpath mediante el classloader. Por ejemplo:

Código Java:
Ver original
  1. InputStream jasper1 = getClass().getResourceAsStream("/reports/ResumenVentas_subreport.jasper");

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 03/02/2015, 12:33
 
Fecha de Ingreso: enero-2015
Ubicación: Guayaquil
Mensajes: 17
Antigüedad: 9 años, 10 meses
Puntos: 0
Exclamación Respuesta: Empaquetar reportes en el jar

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Aparentemente cargas los ficheros con una ruta absoluta. Debes cargar los recursos a partir del classpath mediante el classloader. Por ejemplo:

Código Java:
Ver original
  1. InputStream jasper1 = getClass().getResourceAsStream("/reports/ResumenVentas_subreport.jasper");

Un saludo
El problema es en el xml en la sgte linea, como podria poner una ruta que no sea la abosulta.

Cita:
<defaultValueExpression><![CDATA["C:\\Users\\User\\Google Drive\\Proriosa\\SistemaVentaProriosa\\src\\Report es\\"]]></defaultValueExpression>.
Saludos.

Etiquetas: ireport, jar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:16.