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

Acceder a leer un fichero desde un .jar

Estas en el tema de Acceder a leer un fichero desde un .jar en el foro de Java en Foros del Web. Tengo un proyecto (llamemosle p1) que contiene un fichero leer.xml dentro de WEB-INF. p1 utiliza un .jar en su classpath, y necesito que ese .jar ...
  #1 (permalink)  
Antiguo 06/07/2006, 02:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 97
Antigüedad: 18 años, 5 meses
Puntos: 0
Acceder a leer un fichero desde un .jar

Tengo un proyecto (llamemosle p1) que contiene un fichero leer.xml dentro de WEB-INF. p1 utiliza un .jar en su classpath, y necesito que ese .jar acceda al fichero leer.xml y pueda trabajar con él.

¿Podria alguien orientarme sobre cómo se puede hacer eso?

En el fondo, es lo que hace la librería Struts.jar cuando lee el fichero Struts-config.xml de los proyectos que utilizan Struts. Pero no sé como hacerlo, si leer del contexto, utilizar jndi...


Muchas gracias
  #2 (permalink)  
Antiguo 06/07/2006, 10:22
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Lo más común:
.- Si el nombre del archivo es conocido a priori, ponerlo en WEB-INF/classes y cargarlo con getResourceAsStream()
.- Si el nombre puede variar, obtener el path absoluto a WEB-INF con ServletContext.getRealPath("WEB-INF") y a partir de ahí, buscarlo.
  #3 (permalink)  
Antiguo 07/07/2006, 01:33
 
Fecha de Ingreso: noviembre-2005
Mensajes: 97
Antigüedad: 18 años, 5 meses
Puntos: 0
Muchas gracias por los comentarios. Pero no tengo acceso a ServletContext desde el .jar, y no puedo pasarle el ServletContext a los métodos del .jar (por arquitectura).

Lo he solucionado de la siguiente forma en el jar (por si te sirve):

Thread.currentThread().getContextClassLoader().get Resource(NOMBRE);

siendo NOMBRE = WEB-INF/leer.xml


Nuevamente gracias por tus comentarios, un saludo!,
Raiko
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 17:42.