Java jest jednym z najpopularniejszych języków programowania używanych do tworzenia różnych typów aplikacji i systemów.
istnieją dwie różne implementacje Javy, OpenJDK i Oracle Java, prawie bez różnic między nimi, z wyjątkiem tego, że Oracle Java ma kilka dodatkowych funkcji komercyjnych. Licencjodawca Oracle Java zezwala wyłącznie na niekomercyjne użytkowanie oprogramowania, np. do użytku osobistego i programistycznego. OpenJDK jest otwartoźródłową implementacją platformy Java.
domyślne repozytoria CentOS 8 zawierają najnowsze dwie główne wersje Java LTS, Java 8 i Java 11.
w tym samouczku wyjaśnimy, jak zainstalować jedną lub więcej wersji Java (OpenJDK) na CentOS 8 i jak ustawić domyślną Javę za pomocą alternatyw.
instalacja OpenJDK 11 #
ogólną rekomendacją jest zainstalowanie najnowszej wersji Java LTS (JDK 11). Niektóre aplikacje oparte na Javie mogą wymagać określonej wersji oprogramowania Java, dlatego konieczne może być zapoznanie się z dokumentacją aplikacji.
aby zainstalować OpenJDK 11 na CentOS 8, uruchom następujące polecenie jako root lub użytkownik z uprawnieniami sudo:
sudo dnf install java-11-openjdk-devel
Po zakończeniu instalacji możesz ją zweryfikować, sprawdzając wersję Java:
java -version
wyjście powinno wyglądać mniej więcej tak:
openjdk version "11.0.4" 2019-07-16 LTSOpenJDK 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)
to jest to! Pomyślnie zainstalowano oprogramowanie Java w systemie CentOS 8.
CentOS 8 obsługuje również bezgłowiową wersję OpenJDK, która zapewnia minimalne środowisko Java potrzebne do wykonywania aplikacji bez graficznego interfejsu użytkownika (Brak obsługi klawiatury, myszy i systemów wyświetlania). Ta wersja jest bardziej odpowiednia dla aplikacji serwerowych, ponieważ ma mniej zależności i zużywa mniej zasobów systemowych.
aby zainstalować tylko bezgłowy OpenJDK 11 Wpisz:
sudo dnf install java-11-openjdk-headless
Jeśli już zainstalowałeśjava-11-openjdk-devel
, pakiet bezgłowy zostanie zainstalowany jako zależność.
instalacja OpenJDK 8 #
Java 8, poprzednia wersja Java LTS, jest nadal obsługiwana i szeroko stosowana. Jeśli Twoja aplikacja wymaga wersji Java 8, możesz ją zainstalować, wpisując następujące polecenie:
sudo dnf install java-1.8.0-openjdk-devel
zweryfikuj instalację, sprawdzając wersję Java:
java -version
wyjście powinno wyglądać mniej więcej tak:
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)
dla minimalnej Java Runtime, zainstaluj pakiet java-1.8.0-openjdk-headless
.
ustawienie domyślnej wersji Java #
Jeśli zainstalowano wiele wersji Java w systemie CentOS, można użyć systemu alternatyw, aby ustawić, która wersja Java będzie używana podczas wpisywaniajava
w terminalu.
aby sprawdzić, która wersja Java jest ustawiona jako domyślna, wpisz:
java -version
Jeśli chcesz zmienić domyślną wersję, użyj polecenia alternatives
:
sudo alternatives --config java
wynik będzie wyglądał mniej więcej tak, jak poniżej:
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 ekranie zostanie wydrukowana lista wszystkich zainstalowanych wersji oprogramowania Java. Wprowadź numer wersji, której chcesz użyć jako domyślnej i naciśnij Enter
.
Możesz również zmienić domyślną wersjęjavac
wersja:
sudo alternatives --config java
javac
jest narzędziem poleceń do kompilacji programów Java.
ustawienie zmiennej środowiskowej JAVA_HOME #
zmienna środowiskowa JAVA_HOME
jest używana przez niektóre aplikacje Java do określenia lokalizacji instalacji Java i określenia, której wersji Java ma zostać użyta do uruchomienia aplikacji.
aby ustawić zmiennąJAVA_HOME
dla każdego użytkownika, dodaj ją do~/.bashrc
lub dowolnego innego pliku konfiguracyjnego, który jest ładowany po zalogowaniu się użytkownika. Dla ustawienia całego systemu, Użyj skryptu wewnątrz katalogu/etc/profile.d
.
zakładając, że chcesz ustawićJAVA_HOME
do OpenJDK 8 dodaj następującą linię na końcu pliku:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"
aby zmiany miały wpływ na bieżącą powłokę, możesz się wylogować i zalogować lub użyć poleceniasource
:
source /etc/profile.d/java.sh
sprawdź, czyJAVA_HOME
zmienna środowiskowa została poprawnie ustawiona:
echo $JAVA_HOME
wyjście powinno pokazywać ścieżkę do instalacji Javy:
/usr/lib/jvm/java-1.8.0-openjdk
Możesz również ustawić JAVA_HOME
w konfiguracji aplikacji, Pliku jednostki systemd lub w wierszu poleceń podczas uruchamiania programu.
na przykład, aby uruchomić Mavena przy użyciu Java 8, wpisz:
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...
wniosek #
CentOS 8 obsługuje dwie główne wersje Java, Java 8 i Java 11, które można zainstalować za pomocądnf
menedżer pakietów.