Java je jedním z nejpopulárnějších programovacích jazyků používaných k vytváření různých typů aplikací a systémů.
Existují dvě různé implementace Javy, OpenJDK a Oracle Java, s téměř žádnými rozdíly mezi nimi, kromě toho, že Oracle Java má několik dalších komerčních funkcí. Licence Oracle Java povoluje pouze nekomerční použití softwaru, jako je osobní použití a použití ve vývoji. OpenJDK je open-source implementace platformy Java.
Výchozí úložiště CentOS 8 zahrnují poslední dvě hlavní verze Java LTS, Java 8 a Java 11.
V tomto tutoriálu vysvětlíme, jak nainstalovat jednu nebo více verzí Java (OpenJDK) na CentOS 8 a jak nastavit výchozí Javu pomocí alternativ.
Instalace OpenJDK 11 #
Obecným doporučením je nainstalovat nejnovější verzi Java LTS (JDK 11). Některé aplikace založené na Javě mohou vyžadovat specifickou verzi Javy, takže možná budete muset nahlédnout do dokumentace aplikace.
Chcete-li nainstalovat OpenJDK 11 na CentOS 8, spusťte následující příkaz jako root nebo uživatel s právy sudo:
sudo dnf install java-11-openjdk-devel
Jakmile je instalace dokončena, můžete ji ověřit kontrolou verze Java:
java -version
Výstup by měl vypadat nějak takto:
openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)
A je to! Úspěšně jste nainstalovali Javu do svého systému CentOS 8.
CentOS 8 také podporuje bezhlavou verzi OpenJDK, která poskytuje minimální běhové prostředí Java potřebné pro spouštění aplikací bez grafického uživatelského rozhraní (žádná podpora klávesnice, myši a zobrazovacích systémů). Tato verze je vhodnější pro serverové aplikace, protože má méně závislostí a využívá méně systémových prostředků.
Chcete-li nainstalovat pouze headless OpenJDK 11, zadejte:
sudo dnf install java-11-openjdk-headless
Pokud jste již nainstalovali java-11-openjdk-devel
, bude balíček headless nainstalován jako závislost.
Instalace OpenJDK 8 #
Java 8, předchozí verze Java LTS, je stále podporována a široce používána. Pokud vaše aplikace vyžaduje Java 8, můžete ji nainstalovat zadáním následujícího příkazu:
sudo dnf install java-1.8.0-openjdk-devel
Ověřte instalaci kontrolou verze Java:
java -version
Výstup by měl vypadat nějak takto:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
Pro minimální běh Java nainstalujte java-1.8.0-openjdk-headless
balíček.
Nastavení výchozí verze Java #
Pokud jste na svůj systém CentOS nainstalovali více verzí Java, můžete použít systém alternativ k nastavení, která verze Java se použije, když zadáte java
v terminálu.
Chcete-li zkontrolovat, která verze Java je nastavena jako výchozí, zadejte:
java -version
Pokud chcete změnit výchozí verzi, použijte alternatives
příkaz:
sudo alternatives --config java
Výstup bude vypadat nějak takto:
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)
*+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number:
Na obrazovce se vytiskne seznam všech nainstalovaných verzí Java. Zadejte číslo verze, kterou chcete použít jako výchozí, a stiskněte Enter
.
Můžete také změnit výchozí javac
verze:
sudo alternatives --config java
javac
je příkazový nástroj pro kompilaci programů Java.
Nastavení JAVA_HOME
Proměnná prostředí #
JAVA_HOME
Proměnná prostředí se používá v některých aplikacích Java k určení umístění instalace Java a určení, která verze Java by měla být použita ke spuštění aplikace.
Chcete-li nastavit JAVA_HOME
proměnnou na jednotlivé uživatele, přidejte ji do ~/.bashrc
nebo jakýkoli jiný konfigurační soubor, který se načte, když se uživatel přihlásí. Pro celosystémové nastavení použijte skript v /etc/profile.d
adresář.
Za předpokladu, že chcete nastavit JAVA_HOME
do OpenJDK 8 přidejte na konec souboru následující řádek:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
Aby se změny projevily ve vašem aktuálním prostředí, můžete se buď odhlásit a přihlásit, nebo použít source
příkaz:
source /etc/profile.d/java.sh
Ověřte, že JAVA_HOME
proměnná prostředí byla správně nastavena:
echo $JAVA_HOME
Výstup by měl ukazovat cestu k instalaci Java:
/usr/lib/jvm/java-1.8.0-openjdk
Můžete také nastavit JAVA_HOME
v konfiguraci aplikace, souboru systemd unit nebo na příkazovém řádku při spouštění programu.
Chcete-li například spustit Maven pomocí Java 8, zadejte:
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre
...