restaurar - set java_home ubuntu
Cómo configurar JAVA_HOME en Linux para todos los usuarios (14)
Soy nuevo en el sistema Linux y parece que hay demasiadas carpetas Java.
java -version me da:
- versión de Java "1.7.0_55"
- OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
- OpenJDK 64-Bit Server VM (compilación 24.51-b03, modo mixto)
Cuando intento construir un proyecto Maven, recibo un error:
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java
¿Podrían decirme qué archivos necesito modificar para el usuario root y no root y dónde se encuentra exactamente java?
-
find /usr/lib/jvm/java-1.xx-openjdk
vim /etc/profile
Anteponga sudo si inició sesión como usuario no privilegiado, es decir.
sudo vim
- Presione ''i'' para entrar en modo insertar
añadir:
export JAVA_HOME="path that you found" export PATH=$JAVA_HOME/bin:$PATH
- cierre sesión e inicie sesión nuevamente, reinicie o use
source /etc/profile
para aplicar cambios inmediatamente en su shell actual
Copie la ruta del archivo bin que instaló
"TU CAMINO"
abra la terminal y edite el archivo de entorno escribiendo el siguiente comando
"sudo nano / etc / environment"
En este archivo, agregue la siguiente línea (reemplazando YOUR_PATH por la ruta recién copiada):
JAVA_HOME = "YOUR_PATH"
Eso debería ser suficiente para establecer la variable de entorno. Ahora recarga este archivo:
"fuente / etc / entorno"
ahora pruébelo ejecutando:
echo $ JAVA_HOME
En Linux agrego esta línea a mi ~ / .profile:
export JAVA_HOME=$(readlink -ze /usr/bin/javac | xargs -0 dirname -z | xargs -0 dirname)
Es muy fácil establecer la ruta en Linux. Haz lo siguiente:
Paso 1 Abra el terminal y escriba sudo gedit .bashrc
Paso-2 Le preguntará su contraseña. Después de escribir la contraseña, se abrirá el archivo bash. Luego ve al final y escribe debajo
paso 3
export JAVA_HOME= /usr/lib/jvm/java-8-openjdk-amd64/
export PATH="$PATH:$JAVA_HOME/bin"
paso-4 A continuación, guarde el archivo y salga del archivo
Arriba es para un solo usuario. Para todos los usuarios, debes seguir los pasos a continuación
Step-1 gedit /etc/profile
Paso 2 de export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
Step-3 export PATH=$PATH:$JAVA_HOME/bin
Espero que esto ayude. ¡Gracias!
Este es un script muy simple para resolver el problema
export JAVA_HOME_BIN=`which java`
export JAVA_HOME_DIR=`dirname $JAVA_HOME_BIN`
export JAVA_HOME=`dirname $JAVA_HOME_DIR`
Y para probar:
echo $JAVA_HOME
Haciendo lo que Oracle hace (como ex Empleado de Sun no me acostumbro a eso)
ln -s latestJavaRelease / usr / java / default
Donde latestJavaRelease es la versión que quieres usar
luego exportar JAVA_HOME = / usr / java / default
La respuesta dada es que las publicaciones anteriores son válidas. Pero ninguna respuesta está completa con respecto a:
- No se recomienda cambiar el / etc / profile simplemente por el motivo (como se indica en / etc / profile):
- NO es una buena idea cambiar este archivo a menos que sepa lo que está haciendo. Es mucho mejor crear un script de shell custom.sh en /etc/profile.d/ para realizar cambios personalizados en su entorno, ya que esto evitará la necesidad de fusionarse en futuras actualizaciones. *
Como se dijo anteriormente, cree el archivo /etc/profile.d/custom.sh para cambios personalizados.
Ahora, para mantenerse siempre actualizado con las versiones más nuevas de Java que se está instalando, nunca coloque la ruta absoluta, en su lugar use:
# si haces jdk como casa java
exportar JAVA_HOME = $ (readlink -f / usr / bin / javac | sed "s: / bin / javac ::")
O
# si haces jre como java home
exportar JAVA_HOME = $ (readlink -f / usr / bin / java | sed "s: / bin / java ::")
- ¡Y recuerda tener #! / bin / bash en el archivo custom.sh
Mientras estamos listos para configurar JAVA_HOME, permítanme compartir algunos beneficios de configurar JAVA_HOME o cualquier otra variable de entorno:
1) Es fácil actualizar JDK sin afectar el inicio de la aplicación y el archivo de configuración que apunta a JAVA_HOME. solo necesita descargar una nueva versión y asegurarse de que su JAVA_HOME apunte a la nueva versión de Java. Este es el mejor beneficio de usar variables de entorno o enlaces.
2) La variable JAVA_HOME es breve y concisa en lugar de la ruta completa al directorio de instalación de JDK.
3) La variable JAVA_HOME es la independencia de la plataforma, es decir, si su script de inicio utiliza JAVA_HOME, entonces puede ejecutarse en Windows y UNIX sin ninguna modificación, solo necesita establecer JAVA_HOME en el sistema operativo respectivo.
Leer más: http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH
Ninguna de las otras respuestas me estaba "pegando" en RHEL 7, incluso estableciendo JAVA_HOME
y PATH
directamente en /etc/profile
o ~/.bash_profile
no funcionaría. Cada vez que intenté verificar si JAVA_HOME
estaba configurado, quedaría en blanco:
$ echo $JAVA_HOME
(<-- no output)
Lo que tenía que hacer era configurar un script en /etc/profile.d/jdk_home.sh
:
#!/bin/sh
export JAVA_HOME=/opt/ibm/java-x86_64-60/
export PATH=$JAVA_HOME/bin:$PATH
Inicialmente descuidé la primera línea (la #!/bin/sh
), y no funcionará sin ella.
Ahora funciona:
$ echo $JAVA_HOME
/opt/ibm/java-x86_64-60/
Para todos los usuarios, recomendaría colocar la siguiente línea en /etc/profile
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
Esto se actualizará dinámicamente y funciona bien con el sistema de alternativas . Tenga en cuenta que la actualización solo tendrá lugar en un nuevo shell de inicio de sesión.
Probablemente sea una buena idea obtener el perfil que edite para ahorrar el tener que usar un inicio de sesión nuevo.
cualquiera: fuente / etc / or. / etc /
¿Dónde está el perfil que editaste?
Publicar como respuesta, ya que no tengo el privilegio de comentar.
Punto a destacar : siga la respuesta aceptada publicada por "That Dave Guy".
Después de establecer las variables, asegúrese de establecer los permisos apropiados en el directorio java donde está instalado.
chmod -R 755 /usr/java
Puede usar / etc / profile o mejor un archivo como /etc/profile.d/jdk_home.sh
export JAVA_HOME=/usr/java/jdk1.7.0_05/
Debe recordar que este archivo solo está cargado con nuevos shells de inicio de sesión. Por lo tanto, después de bash -l o una nueva sesión de gnome, y que no cambia con las nuevas versiones de Java.
Yo uso la línea:
export JAVA_HOME=$(readlink -f $(dirname $(readlink -f $(which java) ))/../)
a mi ~ / .profile por lo que utiliza la base del directorio java predeterminado en el momento del inicio de sesión. Esto es para bash.