Przejdź do treści

Debian 11 + Java/JDK 8

  • przez

Debian 10 i 11 w domyślnych repo mają już tylko OpenJDK 11. A czasami niezbędna jest starsza wersja, w szczególności wersja 8, która jest ciągle wykorzystywana np. przez oprogramowanie Ubiquiti.

Wersję 8 da się zainstalować korzystając z zewnętrznego repozytorium. Poniżej przedstawię jak to zrobić. Na początek dodajemy klucz.

wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -

Następnie w zależności czy mamy paczkę software-properties-common dodajemy repozytorium do listy:

add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

lub

echo "deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb bullseye main" | tee /etc/apt/sources.list.d/adoptopenjdk.list
apt update
apt install adoptopenjdk-8-hotspot

Możemy sprawdzić jaka wersja jest aktywna/ustawiona jako domyślna (ponieważ może być kilka wersji jdk równocześnie zainstalowanych). I ustawić aktywną oraz wprowadzić potrzebne zmienne środowiskowe, które czasami są potrzebne.

java -version
update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                                Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java          1111      auto mode
  1            /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java   1081      manual mode
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java          1111      manual mode


Press <enter> to keep the current choice[*], or type selection number: 

I na koniec w /etc/environment możemy ustawić globalnie zmienną JAVA_HOME na ścieżkę adekwatną do wybranej wersji.

JAVA_HOME="/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java"

Więc info np. na stronach:

https://linuxize.com/post/install-java-on-debian-10/

https://devopstales.github.io/linux/install-unifi-controller/