En Ubuntu, me gustaría cambiar mi variable de entorno JAVA_HOME de un lado a otro entre Java 5 y 6.
Abro un terminal y escribo lo siguiente para establecer la variable de entorno JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
Y en esa misma ventana de terminal, escribo lo siguiente para verificar que la variable de entorno se haya actualizado:
echo $JAVA_HOME
Y veo /usr/lib/jvm/java-1.5.0-sun, que es lo que espero ver. Además, modifico ~ / .profile y configuro la variable de entorno JAVA_HOME en /usr/lib/jvm/java-1.5.0-sun.
Y ahora, para el problema: cuando abro una nueva ventana de terminal y verifico mi variable de entorno JAVA_HOME escribiendo echo $ JAVA_HOME , veo que mi variable de entorno JAVA_HOME se ha revertido a Java 6. Cuando reinicio mi máquina (o inicio sesión Supongo que la variable de entorno JAVA_HOME está configurada en Java 5 (presumiblemente debido a la modificación que hice en mi ~ / .profile).
¿Hay alguna forma de evitar esto para que pueda cambiar mi entorno JAVA_HOME sin tener que cerrar la sesión y volver a iniciarla (Y hacer que el cambio de la variable de entorno permanezca en todas las ventanas de terminal nuevas)?
fuente

~/.profilearchivo solo se lee cuando inicia sesión en Ubuntu, por lo que si cierra sesión / inicia sesión, JAVA_HOME se configura para todos los terminales y cualquier otra aplicación que ejecute. Si configura JAVA_HOME~/.bashrc, solo se verán las aplicaciones que se ejecutan desde el terminal.Respuestas:
Coloque las variables de entorno en el
/etc/environmentarchivo global :Ejecute "source / etc / environment" en cada shell donde desee que se actualicen las variables:
Comprueba que funciona:
Genial, no se necesita cerrar sesión.
Si desea establecer la variable de entorno JAVA_HOME solo en la terminal, configúrela en el archivo ~ / .bashrc .
fuente
/etc/environmentes especial y no permite la sustitución de variables, por ejemploJRE_HOME=${JAVA_HOME}/jre, no funcionará.Esto probablemente resolverá su problema: https://help.ubuntu.com/community/EnvironmentVariables
fuente
Intenta estos pasos.
- Vamos a editar "etc \ profile". Las variables de entorno deben ingresarse al final del archivo. Como Ubuntu no da acceso a la carpeta raíz, tendremos que usar algunos comandos en el terminal
Paso 1: Inicie la Terminal. Escriba el comando:
gksudo gedit /etc/profilePaso 2: se abrirá el archivo de texto del perfil. Ingrese las variables de entorno en la parte inferior de la página ........... Por ejemplo:
export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/javaPaso 3: guarda y cierra el archivo. Compruebe si las variables de entorno se configuran mediante el comando echo ........ Ej.
echo $PATHfuente
Necesita poner definición variable en el
~/.bashrcarchivo.Desde la página de manual de bash:
fuente
Tradicionalmente, si solo desea cambiar la variable en las ventanas de su terminal, configúrela en un
.bashrcarchivo, que se obtiene cada vez que se abre un nuevo terminal..profileel archivo no se obtiene cada vez que abre un nuevo terminal.Vea la diferencia entre .profile y .bashrc en cuestión: ¿Cuál es la diferencia entre .bashrc, .bash_profile y .environment?
.bashrcDebería resolver su problema. Sin embargo, no es la solución adecuada ya que está utilizando Ubuntu. Consulte la página de ayuda de Ubuntu " Variables de entorno de toda la sesión ". Por lo tanto, no es de extrañar que.profileno funcione para usted. Yo uso Ubuntu 12.04 y xfce. Configuré mi.profiley simplemente no tiene efecto incluso si me desconecto y entro. Experiencia similar aquí . Por lo tanto, puede que tenga que usar el.pam_environmentarchivo y olvidarse por completo.profile, y.bashrc. Y TENGA EN CUENTA que.pam_environmentno es un archivo de script.fuente
Eche un vistazo
bash(1), necesita un shell de inicio de sesión para recoger~/.profile, es decir, la-lopción.fuente
Sé que esta es una pregunta larga y fría, pero surge cada vez que hay una nueva versión de Java nueva o reciente. Ahora esto se aplicaría fácilmente al intercambio 6 y 7.
He hecho esto en el pasado con
update-java-alternatives: http://manpages.ubuntu.com/manpages/hardy/man8/update-java-alternatives.8.htmlfuente
Después de realizar cambios en .profile, debe ejecutar el archivo para que los cambios surtan efecto.
Una vez hecho esto, el comando echo funcionará.
fuente
~/.profilelugar de./.profile.