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

JasperReport: no encuentra el archivo .jasper dentro del WAR (FileNotFoundException)

Estas en el tema de JasperReport: no encuentra el archivo .jasper dentro del WAR (FileNotFoundException) en el foro de Java en Foros del Web. Saludos. Estoy utilizando la librería JasperReport dentro de un proyecto Maven (arquetipo Webapp). Después de aprender a crear la plantilla PDF y rellenarla con datos ...
  #1 (permalink)  
Antiguo 26/08/2012, 04:12
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 14 años
Puntos: 1
JasperReport: no encuentra el archivo .jasper dentro del WAR (FileNotFoundException)

Saludos.

Estoy utilizando la librería JasperReport dentro de un proyecto Maven (arquetipo Webapp). Después de aprender a crear la plantilla PDF y rellenarla con datos procedentes de una consulta SQL me ha surgido un problema que soy incapaz de solucionar.

En la estructura de la aplicación coloco el archivo jasper en el directorio src/main/resources. Una vez compilado el proyecto a WAR aquel aparece en WEB-INF/classes/archivo.jasper. Pues bien, dentro del código JAVA cargo el fichero a través de:

Código:
JasperReport reporte = (JasperReport) JRLoader.loadObjectFromFile(archivo.jasper);
Desgraciadamente, cuando intento generar el PDF dentro de la aplicación me lanza una excepción quejándose de que no encuentra el archivo:

Código:
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: archivo.jasper
Código:
javax.faces.el.EvaluationException: net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: archivo.jasper
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	at javax.faces.component.UICommand.broadcast(UICommand.java:315)
	at javax.faces.component.UIData.broadcast(UIData.java:1093)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
	at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
	at java.lang.Thread.run(Thread.java:722)
Caused by: net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: archivo.jasper
	at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:98)
	at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromFile(JRLoader.java:87)
	at es.vampitel.gestionpermisos.util.Utilidad.generaInformeEmpleadoPDF(Utilidad.java:55)
	at es.vampitel.gestionpermisos.beans.SolicitudBB.generaPDF(SolicitudBB.java:651)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
	... 22 more
Caused by: java.io.FileNotFoundException: archivo.jasper
	... 34 more
He probado a colocar la ruta "/classes/archivo.jasper" así como otras alternativas pero ninguna funciona. ¿Alguien sería tan amable de comentarme dónde meto la pata?

Gracias por adelantado

Etiquetas: encuentra, jasper, jasperreport, war
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 07:27.