Estoy tratando de entender cómo funciona classpath realmente. Después de buscar en la web aquí es donde he llegado hasta ahora:Java classpath - Linux
He añadido
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
en /etc/environment
. Por cierto, estoy ejecutando Ubuntu.
Java encuentra la ruta y compila sin problemas.
El problema es que si cambio el CLASSPATH y luego lo hago: source /etc/environment
, no se aplica el nuevo CLASSPATH. Se aplica si y solo si reinicio el sistema. Por ejemplo si elimino la línea
export CLASSPATH="/home/foo:/home/foo/Java_code/my_code"
, entonces lo hago source/etc/medio ambiente y por último que hago echo $CLASSPATH
, lo que consigo es /home/foo:/home/foo/Java_code/my_code
. Creo que debería tener una línea vacía, ¿no?
¿Hay alguna forma de aplicar los cambios en las variables PATH o CLASSPATH inmediatamente sin tener que reiniciar el sistema?
Podría ayudar a saber que el archivo/etc/environment originalmente contenía solamente la siguiente línea:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Gracias por su tiempo.
¿Cómo está borrando la ruta de clases? –
¿por qué haces todas esas cosas, cuál es tu entorno?/etc/environment se usa para definir variables de entorno para aplicaciones gráficas. Si tiene gráficos, puede usar IDE. ¿Por qué resolver este problema al incluir su carpeta de inicio + proyectos en classpath? – hovanessyan
Solo intento establecer CLASSPATH permanentemente para importar paquetes de carpetas específicas sin tener que definirlo cada vez que ejecuto javac. – tomatoeggs