Mantener el valor de $CLASSPATH

Según la Wikipedia en inglés el CLASSPATH en Java es un argumento que se establece en la línea de comandos, o a través de una variable de entorno, que le dice a la Máquina Virtual de Java donde se encuentran las clases y paquetes definidos por el usuario en los programas en Java.

La máquina virtual busca y carga las clases en este orden:

  • Clases Bootstrap: Las clases que son fundamentales para la Plataforma Java.
  • Extensiones: Paquetes que se encuentran en el directorio extension de el JRE o JDK.
  • Paquetes y librerías definidas por el usuario.

Por default solo los paquetes de el API de JDK, y las extensiones son accesibles sin la necesidad de establecer donde encontrarlas. La locación para los paquetes y librerias definidas por el usuario deben de ser establecidas en la línea de comandos o en el Manifiesto asociado por el archivo JAR que contiene a las clases.

Para hacerlo desde la línea de comandos en Ubuntu basta con usar el comando export.

export CLASSPATH=/directorio/

Para establecer mas de un directorio los separamos con dos puntos “:”.

export CLASSPATH=/directorio1/:/diretorio2/

Listo. El problema viene cuando reiniciamos la computadora, al regresa la variable a perdido sus valores y nuestros programas no encuentran las librerías necesarias para trabajar. En Ubuntu lo solucionamos modificando el archivo /etc/profile, recuerda hacerlo como root.

# vim /etc/profile

Al final del archivo agregamos nuestra instrucción como se indica arriba, guardamos el archivo y cada vez que reiniciemos nuestro $CLASSPATH apuntará a los directorios que hayamos establecido.

Gracias a Piano Daemon por la ayuda.

MP3 Playing: Nothing

Anuncios

6 comentarios

  1. Hola
    Te recomiendo que añadas al CLASSPATH tambien al final un ./ Evita muchos problemas a la hora de ejecutar programas.

    Saludos

  2. Deja ver si entendí, entonces quedaría:

    export CLASSPATH=/directorio/./

    ???

    La verdad no se si te comprendí bien, podrías darme un ejemplo. Gracias por comentar.

  3. Quedaría así:
    export CLASSPATH=/directorio/:./

    Lo qu haces es añadir el directorio actual para que a la hora de ejecutar una aplicacion busque los .class también en el directorio actual.

    Saludos

  4. mmm, ok, la verdad no me queda del todo claro, lo voy a probar.

    s4lu2

  5. […] Nota adicional: Si deseas ahorrarte el parametro classpath a la hora de la compilacion… puedes optar por agregar tu directorio de librerias de tomcat al classpath como lo dicen aqui en Sonido libre […]

  6. […] para eso es necesario configurar la variable CLASSPATH, de acuerdo a la información que revise aquí, existen dos formas: la primera que sólo es funcional mientras este prendida la pc y que se hace […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: