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

Ruta de package

Estas en el tema de Ruta de package en el foro de Java en Foros del Web. Hola gente, tengo un problema, quiero saber la ruta de un package que contiene un jar dentro de mi proyecto, la estructura de los packages ...
  #1 (permalink)  
Antiguo 24/06/2015, 11:51
 
Fecha de Ingreso: junio-2013
Mensajes: 9
Antigüedad: 10 años, 10 meses
Puntos: 0
Ruta de package

Hola gente, tengo un problema, quiero saber la ruta de un package que contiene un jar dentro de mi proyecto, la estructura de los packages es:

-Principal
*inicio
-jars
*jar
-interfaz
*control
*conexion
*medios

En la clase inicio necesito utilizar el package jars con su jar respectivo, algo como
String jar = "ruta_del_package_que_contiene_el_jar";

Ya utilicé la forma: String jar ="\\jar" y no funciona, vi tambien que se podia con: String jar ="\\src\\jar/" y tampoco funciona, conocen alguna forma?
  #2 (permalink)  
Antiguo 24/06/2015, 12:50
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Ruta de package

Buenas,

Eso no funciona así. Tienes que incluir el jar en tu classpath para poder utilizarlo y a partir de ahí acceder al package definido dentro del propio jar.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 25/06/2015, 08:09
 
Fecha de Ingreso: junio-2013
Mensajes: 9
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Ruta de package

Gracias por la respuesta Profesor_Falken, ya incluí el jar al proyecto netbeans y esta bajo el directorio "libraries", ahora mi duda es como lo utilizo? no encuentro informacion acerca de las rutas.
  #4 (permalink)  
Antiguo 25/06/2015, 16:08
inazense
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ruta de package

Si ya lo tienes en el Clashpath, haz referencia a la ruta relativa, es decir, usa las barras // en vez de \\
  #5 (permalink)  
Antiguo 26/06/2015, 00:29
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Ruta de package

Buenas,

Entiendo que lo que quieres es hacer uso de las clases del jar.

Una vez incluido en el classpath puedes utilizar los paquetes y las clases contenidos en el jar de la misma forma que cualquier paquete o clase de tu proyecto. No necesitas especificar rutas.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #6 (permalink)  
Antiguo 26/06/2015, 11:50
 
Fecha de Ingreso: junio-2013
Mensajes: 9
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Ruta de package

Gracias por las respuestas inazense y Profesor_Falken, respecto al problema que llevo es lo siguiente:
En mi programa principal, la primera version hacia un llamado a un jar que estaba alojado en cualquier sitio del pc, digamos tenia el jar llamado HLS en D:\\jars\\HLS.jar y mediante procedimientos internos solicitaba la ruta en una cadena String ruta_path ="D:\\jars/"; y me ubicaba el jar que necesitaba.
Para mi segunda version quiero que mi proyecto contenga el jar en un package o clase o algo, ejem:

Antes:
String ruta_path ="D:\\jars/"; //esta parte era modificado por cada persona
inicio.start(ruta_path...);
Ahora:
String ruta_path="//ruta_del_claspath_o_package_que_cotiene_el_jar";//ahora quiero que sea fijo
inicio.start(ruta_path...);

Gracias por su tiempo.
  #7 (permalink)  
Antiguo 27/06/2015, 00:37
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
Respuesta: Ruta de package

Las clases no contienen paquetes sino que los paquetes contienen clases.

Cuando hablas de importar un archivo jar estás hablando de utilizar una librería externa. Esta librería contiene paquetes y dentro de ellos están las clases que quieres usar. Los paquetes no hace falta referenciarlos. Son meramente administrativos para organizar las clases. Luego, claro esta, esta el tema de la visibilidad de una clase desde otra según sea pública, privada[...]

Para utilizarlas se hace igual que las incluidas en el jdk. Por ejemplo con la clase Scanner (). La incluyes en tu sección imports y listo. Si no sabes declararla ahi el propio netbeans te reconocerá un error al declarar un objeto Scanner y una de las soluciones que te ofrecerá será la importación de la clase.

El donde guardas la libreria en tu disco duro da exactamente igual. El netbeans ya se aprende la ruta y la gestiona el solito. Luego a la hora de compilar te ofrecerá la opción de incluir esa libreria en tu jar o no. Si eliges que no el netbeans te preparara una carpeta con tu jar ejecutable y con el resto de archivos que se necesitan. Como esas librerias externas que has utilizado.

Hay un subforo de netbeans que supongo yo trata sobre la utilización de ese programa. Esta duda yo la veo más como duda de utilización de la herramienta más que del propio lenguaje de java.

Última edición por Kritik; 27/06/2015 a las 00:46
  #8 (permalink)  
Antiguo 27/06/2015, 02:49
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Ruta de package

Buenas,

No le veo ningún sentido a lo que haces israelnolus, ya que los jars se incluyen en el classpath para utilizar sus paquetes y sus clases directamente. No hace falta referenciar ninguna ruta desde el código para utilizarlo.

Ahora bien, tu sabrás lo que haces y porqué lo haces.

Te contesto a la duda concreta que tienes respecto a como hacer referencia a un fichero que está dentro del classpath.

Para ello tienes que utilizar el classLoader:

Código Java:
Ver original
  1. String ruta_path= getClass().getClassLoader().getResource(RUTA_A_TU_JAR).getPath();

Donde RUTA_A_TU_JAR tendria que ser la ruta relativa respecto a la raiz del classpath.

Por ejemplo, si tienes tu jar "mijar.jar" guardado en un paquete llamado jars que cuelga directamente de la raiz, entonces la ruta sería "jars/mijar.jar". Si, por el contrario lo tienes en un paquete com.test.jars, entonces la ruta seria "com/test/jars/mijar.jar".

Espero que te haya quedado claro, aunque sigo sin entender tu objetivo.

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: clase, package, ruta, string
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:57.