PDA

Ver la versión completa : Hacerme una librería java



-Localhost-
29-07-2010, 05:41
Hola a todos,

Hice un objeto java que funciona perfectamente, y lo puedo implementar en códigos que programe un nivel por encima del package que compone ese código. Ahora bien, ¿dónde tendría que ubicar el package para poder implementar el objeto en cualquier código con un import objetoPackage.objetoClass;?

¿Podría incluso declarar en alguna parte que el path donde programé ese package es donde se encuentran las "librerías" que añado para programar? Es decir, al igual que para compilar desde cualquier ubicación dentro del ordenador añadimos la carpeta donde se encuentran los archivos binarios de java a la variable de entorno Path de nuestro ordenador, ¿se podría hacer algo similar con las librerías?

Esa es mi duda, creo que es muy tonta y simple, pero bueno, nunca lo he hecho, espero que me puedan ayudar, gracias de antemano =).

Un saludo.

j8k6f4v9j
29-07-2010, 10:10
Efectivamente, la puedes incluir sin problema dentro del directorio en el que se encuentre el resto del código del proyecto. Si no me equivoco, sólo tienes que añadir los jar, como librería, al proyecto.


Salu2

-Localhost-
29-07-2010, 10:54
Pero no quiero tener que incluir el código en todos los programas que haga, me refería a vincular el path con el compilador para que siempre revise el path de la librería que haya creado yo y use ese código para compilar al igual que usa las apis de java. O cualquier otra solución similar que me haga no tener que hacer eso que dices.

j8k6f4v9j
29-07-2010, 13:49
Claro, puedes vincular tu librería igual que si vincularas cualquier otra librería estándar del sistema. El problema es que así tendrías una dependencia externa que, obviamente, habría que satisfacer para la correcta ejecución del programa.


Salu2

-Localhost-
29-07-2010, 15:22
Bien, y entonces como vinculo el código de manera que en cualquier parte de mi ordenador pueda escribir import codigo.*; y me lo compile correctamente?

j8k6f4v9j
30-07-2010, 01:54
Sólo tiene s que poner el jar en el classpath de Java.

Le puedes decir a la aplicación Java dónde está la librería de varias formas:


Al arrancar la máquina virtual, especificando la ruta en que se encuentra la librería (en los parámetros de la máquina virtual):

-Djava.library.path={ruta_a_la_libreria}
donde ruta_a_la_libreria es la ruta absoluta en que se encuentra la librería.
Definir la variable de entorno LD_LIBRARY_PATH de modo que incluya la ruta a la librería.
Copiar la librería a un directorio que ya esté incluido en la ruta en donde Java busca las librerías.


Ya es cuestión de sopesar pros y contras y de elegir la que más te convenga.


Salu2

-Localhost-
30-07-2010, 23:59
ok, muchas gracias y ¿cómo se hace?:


-Djava.library.path={ruta_a_la_libreria}

eso ¿dónde tengo que ponerlo?

j8k6f4v9j
31-07-2010, 09:28
Como parámetro para la máquina virtual:


java -Djava.library.path={ruta_a_la_libreria} ...

Si estás usando un IDE, pues donde éste permita especificar los parámetros de la máquina virtual. Por ejemplo, http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/running_eclipse.htm


Salu2

-Localhost-
03-08-2010, 04:20
Hola,

me dio problemas al inentar lo que dijiste, probé con esto:


java -D eje01.sColor=c:/java/eje01/sColor.class *.java
java -D eje01.sColor=c:/java
java -D eje01.sColor=c:/java/eje01/sColor *.java
java -D java.library.path=c:/java/eje01/sColor *.java
java -D java.library.path=c:/java/eje01/sColor.class *.java
pero nada de eso dio resultado, ¿sabrías decirme en qué me esoy equivocando?

Un saludo y gracias de antemano.

j8k6f4v9j
03-08-2010, 05:09
Pues no estoy muy acostumbrado al intérprete de ese sistema, la verdad :D

Prueba así, a ver qué tal:



java -D"java.library.path=C:\java\eje01\sColor" *.java


O sumándolo a tu PATH actual, para que no pete buscando las librerías estándar de Java

PATH=%PATH%;C:\java\eje01\sColor\
java -D"java.library.path=%PATH%" *.java


Salu2