GNU/Linux >> Znalost Linux >  >> Linux

Najděte JAVA_HOME a nastavte ji na RHEL

readlink příkaz vám ukáže úplnou cestu symbolického odkazu:

readlink -f `which java`

Nejlepší, co můžete udělat, je vyhnout se javě Red Hat úplně.

Získejte svou javu od Oracle a vložte ji do /opt. Pak stačí vytvořit symbolický odkaz /opt/java -> /opt/jdk-someversion a vytvořit /etc/profile.d/java.sh obsahující

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

Poté, chcete-li změnit javu v celém systému, stačí změnit symbolický odkaz v opt. Chcete-li použít více verzí Java, použijte skripty jako výše s příslušnou JAVA_HOME.

Kromě toho skript /sbin/service používaný ke spouštění skriptů /etc/init.d vytrhne proměnné prostředí - explicitně spustí env -i. Takže váš kocour nezíská JAVA_HOME, budete muset vytvořit setenv.sh v $CATALINA_BASE/bin.

Nevýhodou tohoto přístupu je, že od Red Hatu nedostáváte aktualizace java.


Nejprve zkuste echo $JAVA_HOME z příkazového řádku. Od java je již na vaší cestě, JAVA_HOME může být nastaveno.

Jaký je nejlepší způsob, jak zjistit instalační adresář mé instalace Java

Spuštění příkazu which java vás nasměruje na java je nainstalován.

a poté nastavte JAVA_HOME

Můžete upravit ~/.bashrc , ~/.bash_profile nebo /etc/profile nastavte JAVA_HOME . Nastavení na ~/etc/profile nastaví to na celý systém, a to pravděpodobně není to, co chcete. Řekněme pro příklad výstup which java je /opt/jdk_1.7.0_25 , pak byste jen přidali export JAVA_HOME=/opt/jdk_1.7.0_25 na ~/.bashrc nebo ~/.bash_profile a poté spusťte source ~/.bashrc (nebo source ~/.bash_profile pokud to tam nastavíte).

Všimněte si, že v tomto případě java je na PATH ale v některých případech budete muset přidat export PATH=$PATH:$JAVA_HOME/bin přidejte JAVA_HOME proměnná na PATH .


RHEL používá alternativní subsystém ke správě instalací Java. Můžete mít nainstalovaných více verzí Java, ale aktivní je vždy pouze jedna.

To znamená, že běží which java neposkytuje užitečné informace. Výstup by byl stejný bez ohledu na to, která java instalace je vybrána přes alternativy. Spuštěn readlink -f $(which java) (jak již bylo navrženo v jiném komentáři) nebo pomocí alternativních dotazů alternatives --display java bylo by to lepší.

Viz příklad ze stroje RHEL 6 s nainstalovaným OpenJDK (který je dodáván s 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

Všimněte si, že proměnná prostředí JAVA_HOME není ve výchozím nastavení nikde definováno, budete ho muset definovat sami v .bashrc uživatele, který to vyžaduje.

V předchozím příkladu správná hodnota JAVA_HOME by bylo /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64 .

Podrobnosti naleznete v části Instalace OpenJDKdocumentation, vyhledejte sekci "Volitelné:Nastavte proměnnou prostředí JAVA_HOME".


Linux
  1. Najít vzor a přesunout?

  2. Jak nastavit volitelný parametr?

  3. Vymanit se z hledání, pokud selže -exec?

  1. CentOS / RHEL :Jak zjistit datum a čas instalace RPM

  2. Najděte a zkopírujte soubory

  3. Najděte a přejmenujte adresář

  1. fd – Jednoduchá a rychlá alternativa k nalezení příkazu

  2. JAVA_HOME a PATH jsou nastaveny, ale verze Java stále zobrazuje starou verzi

  3. JAVA není v cestě, ačkoli je nastavena JAVA_HOME