GNU/Linux >> Linux Esercitazione >  >> Linux

Trova JAVA_HOME e impostalo su RHEL

readlink comando ti mostrerà il percorso completo del collegamento simbolico:

readlink -f `which java`

Il meglio che puoi fare è evitare del tutto java di Red Hat.

Ottieni il tuo java da Oracle e inseriscilo in /opt. Quindi crea semplicemente il collegamento simbolico /opt/java -> /opt/jdk-someversion e crea /etc/profile.d/java.sh contenente

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

Quindi, per modificare java a livello di sistema, basta modificare il collegamento simbolico in opt. Per utilizzare più versioni java, utilizzare script come sopra con JAVA_HOME appropriato.

Inoltre, lo script /sbin/service utilizzato per eseguire gli script /etc/init.d strapperà le variabili di ambiente - esegue env -i in modo esplicito. Quindi, ad esempio, il tuo Tomcat non riceverà JAVA_HOME, dovrai creare setenv.sh in $CATALINA_BASE/bin.

Lo svantaggio di questo approccio è che non ricevi aggiornamenti java da Red Hat.


Innanzitutto, prova echo $JAVA_HOME dalla riga di comando. Dal java è già sulla tua strada, JAVA_HOME può essere impostato.

Qual è il modo migliore per capire la directory di installazione della mia installazione di java

Eseguendo il comando which java ti indirizzerà dove java è installato.

e poi imposta JAVA_HOME

Puoi modificare ~/.bashrc , ~/.bash_profile o /etc/profile per impostare JAVA_HOME . Impostandolo in ~/etc/profile lo imposterà a livello di sistema, e questo probabilmente non è quello che vuoi. Dì per esempio l'output di which java è /opt/jdk_1.7.0_25 , quindi devi solo aggiungere export JAVA_HOME=/opt/jdk_1.7.0_25 a ~/.bashrc o ~/.bash_profile e poi esegui source ~/.bashrc (o source ~/.bash_profile se lo imposti lì).

Nota che in questo caso, java è sul PATH ma in alcuni casi dovrai aggiungere export PATH=$PATH:$JAVA_HOME/bin per aggiungere il JAVA_HOME variabile a PATH .


RHEL utilizza un sottosistema alternativo per gestire le installazioni Java. Puoi avere più versioni di java installate, ma solo una alla volta è attiva.

Ciò significa che l'esecuzione di which java non fornisce informazioni utili. L'output sarà lo stesso indipendentemente dall'installazione java selezionata tramite le alternative. Esecuzione di readlink -f $(which java) (come già suggerito in altro commento) o utilizzando le alternative di richiesta alternatives --display java sarebbe meglio.

Guarda l'esempio dalla macchina RHEL 6 con OpenJDK installato (fornito 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

Nota che la variabile d'ambiente JAVA_HOME non è definito da nessuna parte per impostazione predefinita, dovresti definirlo tu stesso in .bashrc dell'utente che lo richiede.

Nell'esempio precedente, correggere il valore di JAVA_HOME sarebbe/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64 .

Consulta i dettagli nella documentazione relativa all'installazione di OpenJDK, cerca la sezione "Facoltativo:imposta la variabile di ambiente JAVA_HOME".


Linux
  1. Trova il modello e spostati?

  2. Come impostare un parametro opzionale??

  3. CentOS / RHEL:come trovare la data e l'ora di installazione di RPM

  4. Trova e rinomina una directory

  5. JAVA_HOME e PATH sono impostati ma java -version mostra ancora quello vecchio

Come impostare il percorso JAVA_HOME in Ubuntu 20.04 e Ubuntu 22.04

Come impostare data, ora e fuso orario in RHEL 8

Come impostare correttamente la variabile JAVA_HOME in Ubuntu Linux

Trova facilmente file e directory su Linux

Come impostare data e ora su Linux

Come configurare SSH su CentOS e RHEL