Pokud spouštíte Java programy na Ubuntu pomocí Eclipse, Maven nebo Netbeans atd., budete muset nastavit JAVA_HOME na svou cestu. Jinak si váš systém bude stěžovat, že „proměnná prostředí java_home není nastavena“.
V tomto tutoriálu pro začátečníky ukážu kroky ke správnému nastavení proměnné Java Home na Ubuntu. Kroky by měly být platné i pro většinu ostatních distribucí Linuxu.
Proces se skládá z těchto kroků:
- Ujistěte se, že je nainstalována sada Java Development Kit (JDK).
- Nalezení správného umístění spustitelného souboru JDK.
- Nastavení proměnné JAVA_HOME a provedení změny trvalé.
Krok 1:Zkontrolujte, zda je nainstalován JDK
Nejjednodušší způsob, jak zkontrolovat, zda je na vašem systému Linux nainstalován Java Development Kit (JDK), je spuštěním tohoto příkazu:
javac --version
Výše uvedený příkaz zkontroluje verzi kompilátoru Java. Pokud je nainstalován, zobrazí verzi Java.
Pokud příkaz zobrazuje chybu, jako je příkaz javac nenalezen, budete muset nainstalovat JDK.
Pokud ve vašem systému není nainstalován kompilátor Java, nainstalujte sadu Java Development Kit pomocí tohoto příkazu:
sudo apt install default-jdk
Tím se nainstaluje výchozí verze Java ve vaší aktuální verzi Ubuntu. Pokud potřebujete nějakou jinou konkrétní verzi Java, budete ji muset zadat při instalaci Java na Ubuntu.
Jakmile se ujistíte, že Java Compiler je ve vašem systému přítomen, je čas najít jeho umístění.
Krok 2:Získejte umístění spustitelného souboru JDK (Java Compiler)
Spustitelný soubor je obvykle umístěn v adresáři /usr/lib/jvm. Nenechám vás samotného kvůli hádající hře. Místo toho pojďme zjistit cestu ke spustitelnému souboru Java.
Použijte příkaz which k získání umístění spustitelného souboru Java Compiler:
which javac
Problém je v tom, že umístění, které uvádí, je ve skutečnosti symbolickým odkazem. Budete to muset několikrát sledovat:
A když najdete cestu jako /usr/lib/jvm/java-11-openjdk-amd64/bin/javac, odstraníte /bin/javac z něj získat něco jako /usr/lib/jvm/java-11-openjdk-amd64
Jednodušší metodou je následovat symbolický odkaz a dostat se přímo ke skutečnému spustitelnému souboru pomocí tohoto příkazu:
readlink -f `which javac` | sed "s:/bin/javac::"
Příkaz readlink následuje po symbolickém odkazu. Použil jsem ` kolem která java . Toto se nazývá substituce příkazu a nahrazuje příkaz svým výstupem. Sed se pak používá k nahrazení /bin/javac ničím a tím k jeho úplnému odstranění.
V mém příkladu je umístění spustitelného souboru /usr/lib/jvm/java-11-openjdk-amd64 . U vás to může být jinak. Zkopírujte správnou cestu, kterou jste získali z výše uvedeného příkazu, ve vašem systému. Víte, můžete zkopírovat a vložit v terminálu Ubuntu.
Krok 3:Nastavení proměnné JAVA_HOME
Nyní, když máte umístění, použijte jej k nastavení proměnné prostředí JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java
Zkontrolujte hodnotu adresáře JAVA_HOME:
echo $JAVA_HOME
Zkuste spustit svůj program nebo projekt ve STEJNÉM TERMINÁLU a zjistěte, zda to funguje.
To ještě není konec. Proměnná JAVA_HOME, kterou jste právě deklarovali, je dočasná. Pokud terminál zavřete nebo zahájíte novou relaci, bude opět prázdný.
Chcete-li nastavit proměnnou JAVA_HOME ‚trvale‘, měli byste ji přidat do souboru bashrc ve vašem domovském adresáři.
Pro úpravu souborů v terminálu Linux můžete použít editor Nano. Pokud to nechcete a použijete jednoduchý postup kopírování a vkládání, použijte následující příkazy:
Zálohujte svůj bashrc soubor (v případě, že jej zkazíte, můžete jej získat zpět):
cp ~/.bashrc ~/.bashrc.bak
Dále použijte příkaz echo k připojení příkazu exportu, který jste použili na začátku této části. Změňte příkaz níže tak, aby používal správnou cestu zobrazenou vaším systémem v .
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc
Ověřte, že byl správně přidán na konec souboru:
tail -3 ~/.bashrc
Výše uvedený příkaz tail zobrazí poslední 3 řádky zadaného souboru.
Zde je celý výstup výše uvedených tří příkazů.
Nyní, i když ukončíte relaci nebo restartujete systém, proměnná JAVA_HOME bude stále nastavena na vámi zadanou hodnotu. To je to, co chcete, ne?
Pamatujte, že pokud v budoucnu změníte výchozí verzi Java, budete muset změnit hodnotu JAVA_HOME a nasměrovat ji na správnou cestu ke spustitelnému souboru.
Doufám, že vám tento tutoriál nejen pomohl nastavit Java Home, ale také vás naučil, jak to děláte.
Pokud se stále potýkáte s problémy nebo máte nějaké dotazy či návrhy, dejte mi prosím vědět v komentářích.