GNU/Linux >> Tutoriales Linux >  >> Linux

Busque JAVA_HOME y configúrelo en RHEL

readlink El comando le mostrará la ruta completa del enlace simbólico:

readlink -f `which java`

Lo mejor que puede hacer es evitar Java de Red Hat por completo.

Obtenga su java de Oracle y colóquelo en /opt. Luego simplemente cree el enlace simbólico /opt/java -> /opt/jdk-someversion, y cree /etc/profile.d/java.sh que contenga

#!/bin/sh
export JAVA_HOME=/opt/java
export PATH=$JAVA_HOME/bin:$PATH

Luego, para cambiar java en todo el sistema, simplemente cambie el enlace simbólico en opt. Para usar múltiples versiones de java, use scripts como el anterior con JAVA_HOME apropiado.

Además, el script /sbin/service utilizado para ejecutar los scripts /etc/init.d eliminará las variables de entorno:ejecuta env -i explícitamente. Por ejemplo, su Tomcat no obtendrá JAVA_HOME, tendrá que crear setenv.sh en $CATALINA_BASE/bin.

El inconveniente de este enfoque es que no recibe actualizaciones de Java de Red Hat.


Primero, prueba echo $JAVA_HOME desde la línea de comandos. Desde java ya está en tu camino, JAVA_HOME se puede configurar.

¿Cuál es la mejor manera de averiguar el directorio de instalación de mi instalación de Java?

Ejecutando el comando which java te indicará dónde java está instalado.

y luego configure JAVA_HOME

Puedes editar ~/.bashrc , ~/.bash_profile , o /etc/profile para configurar JAVA_HOME . Configurándolo en ~/etc/profile lo configurará en todo el sistema, y ​​esto probablemente no sea lo que desea. Por ejemplo, di la salida de which java es /opt/jdk_1.7.0_25 , entonces simplemente agregaría export JAVA_HOME=/opt/jdk_1.7.0_25 a ~/.bashrc o ~/.bash_profile y luego ejecuta source ~/.bashrc (o source ~/.bash_profile si lo configura allí).

Tenga en cuenta que en este caso, java está en el PATH pero en algunos casos necesitarías agregar export PATH=$PATH:$JAVA_HOME/bin para agregar el JAVA_HOME variable al PATH .


RHEL utiliza un subsistema de alternativas para administrar las instalaciones de Java. Puede tener varias versiones de Java instaladas, pero solo una está activa a la vez.

Esto significa que ejecutar which java no proporciona información útil. La salida sería la misma sin importar qué instalación de Java se seleccione a través de alternativas. Ejecutando readlink -f $(which java) (como ya se sugirió en otro comentario) o usando preguntas alternativas alternatives --display java sería mejor.

Vea el ejemplo de una máquina RHEL 6 con OpenJDK instalado (que se envía con RHEL):

[[email protected] ~]# which java
/usr/bin/java
[[email protected] ~]# readlink -f $(which java)
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64/jre/bin/java
[[email protected] ~]# alternatives --display java | head -2
java - status is manual.
 link currently points to /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

Tenga en cuenta que la variable de entorno JAVA_HOME no está definido en ninguna parte de forma predeterminada, deberá definirlo usted mismo en .bashrc de usuario que lo requiere.

En el ejemplo anterior, valor correcto de JAVA_HOME sería /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64 .

Consulte los detalles en la documentación Instalar OpenJDK, busque la sección "Opcional:configure la variable de entorno JAVA_HOME".


Linux
  1. ¿Cómo establecer un parámetro opcional?

  2. ¿Salir de Find si falla un -exec?

  3. CentOS / RHEL:Cómo encontrar la fecha y hora de instalación de RPM

  4. Buscar y copiar archivos

  5. JAVA_HOME y PATH están configurados, pero java -version aún muestra el anterior

Cómo establecer la ruta JAVA_HOME en Ubuntu 20.04 y Ubuntu 22.04

Cómo configurar la fecha, la hora y la zona horaria en RHEL 8

Cómo configurar la variable JAVA_HOME en Ubuntu Linux correctamente

Encuentre archivos y directorios en Linux fácilmente

Cómo configurar la fecha y la hora en Linux

Cómo configurar SSH en CentOS y RHEL