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

Problemas con la ruta relativa

Estas en el tema de Problemas con la ruta relativa en el foro de Java en Foros del Web. Hola a todos: He creado una clase que lanza un reporte de IReports con la siguiente sentencia: JasperReport report = JasperCompileManager.compileReport("src/Lista1.jrxml"); El programa lo ejecuto ...
  #1 (permalink)  
Antiguo 24/09/2014, 06:44
 
Fecha de Ingreso: noviembre-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Problemas con la ruta relativa

Hola a todos:
He creado una clase que lanza un reporte de IReports con la siguiente sentencia:
JasperReport report = JasperCompileManager.compileReport("src/Lista1.jrxml");
El programa lo ejecuto en Netbeans y funciona perfectamente. El problema es que después de generar un jar, al ejecutarlo en windows da un error al lanzar el reporte (no lo encuentra). Después de revisarlo, he visto que aunque le haya puesto una ruta relativa, lo va a buscar al directorio de trabajo.
¿ No lo debería buscar en el interior del jar que ejecuto ?

Gracias
  #2 (permalink)  
Antiguo 24/09/2014, 09:27
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Problemas con la ruta relativa

No, cuando ejecutas un jar el directorio raíz es desde donde se inicia la ejecución del jar, por eso tu ruta relativa no funciona.

Como el fichero está dentro del jar, puedes cargar el fichero a través del classpath

http://stackoverflow.com/questions/1...rom-within-jar

También se podría crear una ruta "absoluta" al interior del jar, pero no te lo recomiendo. Sería algo así

file:/ruta/al/jar/nombre.jar!/ruta/dentro/fichero
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: clase, netbeans, programa, relativa, ruta
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 00:34.