Hacer JAVA JAVA HOME fácilmente cambiable en Ubuntu [cerrado]
En Ubuntu, me gustaría cambiar mi variable de entorno JAVA_HOME entre Java 5 y 6.
Abro una 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 comprobar que la variable de entorno se ha actualizado:
echo $JAVA_HOME
Y veo /usr/lib/jvm/java-1.5.0-sun que es lo que estoy esperando ver. Además, modifico ~/.perfil y establecer el JAVA_HOME variable de entorno a/usr/lib/jvm / java-1.5.0-sun.
Y ahora para el problema when cuando abro una nueva ventana de terminal y compruebo mi variable de entorno JAVA_HOME escribiendo echo echo JAVA_HOME veo que mi variable de entorno JAVA_HOME ha sido revertida a Java 6. Cuando reinicio mi máquina (o salgo y vuelvo a entrar, supongo) la variable de entorno JAVA_HOME se establece en Java 5 (presumiblemente debido a la modificación que hice en mi ~/.perfil).
Hay una manera alrededor de esto para que pueda cambiar mi entorno JAVA_HOME sin tener que cerrar sesión y volver a entrar (Y hacer que la variable de entorno change stick en todas las ventanas de terminal nuevas)?
8 answers
Ponga las variables de entorno en el archivo global /etc/environment
:
...
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
...
Ejecuta "source / etc / environment"en cada shell donde quieras que se actualicen las variables:
$ source /etc/environment
Compruebe que funciona:
$ echo $JAVA_HOME
$ /usr/lib/jvm/java-1.5.0-sun
Genial, no es necesario cerrar sesión.
Si desea establecer la variable de entorno JAVA_HOME solo en la terminal, establézcala en ~/.archivo bashrc.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-03 00:19:36
Esto probablemente resolverá su problema: https://help.ubuntu.com/community/EnvironmentVariables
Variables de entorno de toda la sesión
Para establecer variables de entorno de una manera que afecte al entorno de un usuario en particular, no se deben colocar comandos para establecer sus valores en archivos de script de shell en particular en el directorio personal del usuario, sino usar:
~/.pam_environment - Este archivo está diseñado específicamente para establecer ambiente. No es un archivo de script, sino que consiste en expresiones de asignación, una por línea.
No recomendado:
~/.perfil-Este es probablemente el mejor archivo para colocar asignaciones de variables de entorno, ya que se ejecuta automáticamente por el DisplayManager durante la sesión de escritorio del proceso de inicio, así como por el shell de inicio de sesión cuando uno inicia sesión desde la consola textual.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-16 19:38:23
Prueba estos pasos.
Edit Vamos a editar "etc \ profile". Las variables de entorno se deben introducir en la parte inferior del archivo. Puesto que Ubuntu no dar acceso a la carpeta raíz, tendremos que utilizar algunos comandos en el terminal
Paso 1: Iniciar Terminal. Escriba el comando: gksudo gedit /etc/profile
Paso2: Se abrirá el archivo de texto del perfil. Introduzca las variables de entorno en la parte inferior de la página........... Eg: export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/java
export PATH=/home/alex/jdk1.6.0_22/bin:$PATH
Paso3: guarde y cierre el archivo. Compruebe si las variables de entorno se establecen mediante el comando echo........ Eg echo $PATH
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-11 08:29:27
Debe poner la definición de variable en el archivo ~/.bashrc
.
De la página man de bash:
Cuando un shell interactivo que es no se ha iniciado un shell de inicio de sesión, bash lee y ejecuta comandos desde /etc / bash.bashrc y ~/.bashrc, si estos archivos existen.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-07 18:00:22
Tradicionalmente, si solo desea cambiar la variable en las ventanas de su terminal, establézcala en el archivo .bashrc
, que se obtiene cada vez que se abre un nuevo terminal. .profile
el archivo no se obtiene cada vez que abre un nuevo terminal.
Ver la diferencia entre .perfil y .bashrc en cuestión: ¿Cuál es la diferencia entre .bashrc, .bash_profile y .medio ambiente?
.bashrc
debería resolver tu problema. Sin embargo, no es la solución adecuada ya que está utilizando Ubuntu. Ver la página de ayuda de Ubuntu relevante " Variables de entorno de sesión". Por lo tanto, no es de extrañar que .profile
no funcione para usted. Yo uso Ubuntu 12.04 y xfce. Configuré mi .profile
y simplemente no está teniendo efecto incluso si salgo y entro. Experiencia similar aquí . Así que puede que tengas que usar .pam_environment
file y olvidarte totalmente de .profile
, y .bashrc
. Y TENGA en cuenta que .pam_environment
no es un archivo de script.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:13
Echa un vistazo a bash(1)
, necesita un shell de inicio de sesión para recoger la ~/.profile
, es decir, la opción -l
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-16 19:35:18
Sé que esta es una pregunta larga y fría, pero surge cada vez que hay una nueva o reciente versión importante de Java. Ahora bien, esto se aplicaría fácilmente al intercambio de 6 y 7.
He hecho esto en el pasado con update-java-alternatives
:
http://manpages.ubuntu.com/manpages/hardy/man8/update-java-alternatives.8.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-04 04:09:34
Después de hacer cambios a .perfil, es necesario ejecutar el archivo, para que los cambios surtan efecto.
root@masternode# . ~/.profile
Una vez hecho esto, el comando echo funcionará.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-12 20:04:16