Java telepítése az Ubuntu-ra

1. Áttekintés

Ebben az oktatóanyagban bemutatjuk különböző módszerek a JDK telepítésére az Ubuntu-ra. Ezután röviden összehasonlítjuk a módszereket. Végül bemutatjuk, hogyan lehet több Java-telepítést kezelni egy Ubuntu rendszeren.

Az egyes módszerek előfeltételeként szükségünk van rá

  • egy Ubuntu rendszer
  • hogy nem root felhasználóként jelentkezzen be a sudo kiváltságokat

Az alábbiakban leírt utasításokat az Ubuntu 18.10, 18.04 LTS, 16.04 LTS és 14.04 LTS rendszereken teszteltük. Az Ubuntu 14.04 LTS esetében van néhány különbség, amelyeket a szöveg említ.

Felhívjuk figyelmét, hogy mind az OpenJDK-ból, mind az Oracle-ből letölthető csomagok, valamint az adattárakban elérhető csomagok rendszeresen frissülnek. A pontos csomagnevek valószínűleg néhány hónapon belül megváltoznak, de a telepítés alapvető módszerei változatlanok maradnak.

2. A JDK 11 telepítése

Ha a JDK legújabb és legnagyobb verzióját akarjuk használni, akkor gyakran a kézi telepítés a megfelelő. Ez azt jelenti, hogy egy csomagot le kell tölteni az OpenJDK vagy az Oracle webhelyéről, és be kell állítani, hogy az betartsa a találó beállítja a JDK csomagokat.

2.1. Az OpenJDK 11 kézi telepítése

Először is töltsük le a kátrány a nemrég megjelent OpenJDK 11 archívuma:

$ wget //download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz

És összehasonlítjuk a sha256 a letöltött csomag összege az OpenJDK webhelyen találhatóval:

$ sha256sum openjdk-11_linux-x64_bin.tar.gz

Bontsuk ki a kátrány archívum:

$ tar xzvf openjdk-11_linux-x64_bin.tar.gz

Ezután mozgassuk a jdk-11 könyvtárat, amelyet éppen kibontottunk a / usr / lib / jvm. A találó A következő szakaszban leírt csomagok a JDK-kat is ebbe a könyvtárba teszik:

$ sudo mkdir / usr / lib / jvm $ sudo mv jdk-11 / usr / lib / jvm / openjdk-11-manual-installation / 

Most szeretnénk csináld a Jáva és javac elérhető parancsok. Az egyik lehetőség szimbolikus kapcsolatok létrehozása lenne számukra, például a / usr / bin Könyvtár. De ehelyett telepítünk egy alternatívát mindkettőjük számára. Így, ha valaha is szeretnénk telepíteni a JDK további verzióit, akkor szépen játszanak együtt:

$ sudo update-alternatives --install / usr / bin / java java / usr / lib / jvm / openjdk-11-manual-installation / bin / java 1 $ sudo update-alternatives --install / usr / bin / javac javac / usr / lib / jvm / openjdk-11-manual-installation / bin / javac 1

Ellenőrizzük a telepítést:

$ java -verzió

Amint a kimenetből láthatjuk, valóban telepítettük az OpenJDK JRE és JVM legújabb verzióját:

openjdk "11" verzió 2018-09-25 OpenJDK futásidejű környezet 18.9 (build 11 + 28) OpenJDK 64 bites kiszolgáló virtuális gép 18.9 (build 11 + 28, vegyes mód) 

Nézzük meg a fordító verzióját is:

$ javac -verzió
javac 11

2.2. Az Oracle JDK 11 kézi telepítése

Ha biztosítani akarjuk az Oracle JDK legújabb verziójának használatát, akkor hasonló manuális telepítési munkafolyamatot követhetünk, mint az OpenJDK esetében. A letöltéshez kátrány archívum a JDK 11 számára az Oracle webhelyéről, először el kell fogadnunk egy licencszerződést. Ezért letöltés a következőn keresztül: wget egy kicsit bonyolultabb, mint az OpenJDK esetében:

$ wget -c --header "Cookie: oraclelicense = accept-securebackup-cookie" \ //download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin .tar.gz

A fenti példa letölti a 11.0.1-es csomagot. Az egyes kisebb verziókhoz tartozó letöltési linkek pontos változásai.

A következő lépések ugyanazok, mint az OpenJDK esetében:

$ sha256sum jdk-11.0.1_linux-x64_bin.tar.gz $ tar xzvf jdk-11.0.1_linux-x64_bin.tar.gz $ sudo mkdir / usr / lib / jvm $ sudo mv jdk-11.0.1 / usr / lib / jvm / oracle-jdk-11-manual-installation / $ sudo update-alternatives --install / usr / bin / java java / usr / lib / jvm / oracle-jdk-11-manual-installation / bin / java 1 $ sudo update -alternatívák --install / usr / bin / javac javac / usr / lib / jvm / oracle-jdk-11-manual-installation / bin / javac 1

Az ellenőrzés is ugyanaz. De a kimenet azt mutatja, hogy ezúttal nem az OpenJDK-t, hanem a Java-t (TM) telepítettük:

$ java -verzió
java verzió "11.0.1" 2018-10-16 LTS Java (TM) SE Futásidejű környezet 18.9 (build 11.0.1 + 13-LTS) Java HotSpot (TM) 64 bites kiszolgáló virtuális gép 18.9 (build 11.0.1 + 13- LTS, vegyes mód)

És a fordító számára:

$ javac -verzió
javac 11.0.1

2.3. Az Oracle JDK 11 telepítése PPA-ból

Jelenleg az Oracle JDK 11 elérhető PPA-ban (személyes csomag archívum) is. Ez a telepítés két lépést foglal magában: az adattár hozzáadását a rendszerünkhöz és a csomag telepítését az adattárból keresztül apt:

$ sudo add-apt-repository ppa: linuxuprising / java $ sudo apt update $ sudo apt install oracle-java11-installer

Az ellenőrző lépéseknek ugyanazt az eredményt kell mutatniuk, mint a kézi telepítés után a 2.2.1. Szakaszban:

$ java -verzió
java verzió "11.0.1" 2018-10-16 LTS Java (TM) SE Futásidejű környezet 18.9 (build 11.0.1 + 13-LTS) Java HotSpot (TM) 64 bites kiszolgáló virtuális gép 18.9 (build 11.0.1 + 13- LTS, vegyes mód)

És a fordító számára:

$ javac -verzió
javac 11.0.1

Az Ubuntu 14.04 LTS rendszeren a add-apt-repository parancs alapértelmezés szerint nem érhető el. Lerakat hozzáadásához először telepítenünk kell a szoftver-tulajdonságok-közös csomag.

$ sudo apt update $ sudo apt install software-properties-common

Utána folytathatjuk add-apt-repository, apt update és apt install a fentiek szerint.

3. A JDK 8 telepítése

3.1. Az OpenJDK 8 telepítése az Ubuntu 16.04 LTS és újabb rendszerekre

A JDK 8 egy LTS verzió, amely egy ideje létezik. Emiatt az OpenJDK 8 naprakész verzióját megtalálhatjuk a „Main” adattárban a legtöbb támogatott Ubuntu verziónál. Természetesen elmehetünk az OpenJDK webhelyére is, ott megragadhatunk egy csomagot, és telepíthetjük ugyanúgy, ahogy azt az előző szakaszban láttuk.

De a találó szerszámok és a „Fő” adattár bizonyos előnyökkel jár. A „Main” adattár alapértelmezés szerint minden Ubuntu rendszeren elérhető. A Canonical támogatja - ugyanaz a cég, amely maga az Ubuntut is fenntartja.

Telepítsük az OpenJDK 8-at a “Main” adattárból a találó:

$ sudo apt frissítés $ sudo apt install openjdk-8-jdk

Most ellenőrizzük a telepítést:

$ java -verzió

Az eredménynek tartalmaznia kell egy futásidejű környezetet és egy JVM-et:

openjdk "1.8.0_181" verzió OpenJDK futásidejű környezet (1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13 build) OpenJDK 64 bites kiszolgáló virtuális gép (25.181-b13 build, vegyes mód)

Ellenőrizzük, hogy a javac végrehajtható fájl is elérhető:

$ javac -verzió

Most ugyanazt a verziószámot kell látnunk, mint a fent látható:

javac 1.8.0_181

3.2. Az OpenJDK 8 telepítése az Ubuntu 14.04 LTS-re

Az Ubuntu 14.04 LTS rendszeren az OpenJDK csomagok nem érhetők el a „Fő” adattárban, ezért a openjdk-r PPA. Amint a fenti 2.3. Szakaszban láthattuk, a add-apt-repository parancs alapértelmezés szerint nem érhető el. Szükségünk van a szoftver-tulajdonságok-közös csomag hozzá:

$ sudo apt update $ sudo apt install software-properties-common $ sudo add-apt-repository ppa: openjdk-r / ppa $ sudo apt update $ sudo apt install openjdk-8-jdk

3.3. Az Oracle JDK 8 telepítése PPA-ból

A „Fő” adattár nem tartalmaz saját szoftvert. Ha az Oracle Java programot szeretnénk telepíteni a találó, egy PPA csomagját kell használnunk. Már láttuk, hogyan kell az Oracle JDK 11-et telepíteni a linuxuprising PPA. Java 8 esetén a csomagokat megtalálhatjuk a webupd8team PPA.

Először hozzá kell adnunk a PPA-t találó adattár a rendszerünkhöz:

$ sudo add-apt-repository ppa: webupd8team / java

Ezután telepíthetjük a csomagot a szokásos módon:

$ sudo apt update $ sudo apt install oracle-java8-installer

A telepítés során el kell fogadnunk az Oracle licencszerződését. Ellenőrizzük a telepítést:

$ java -verzió

A kimeneten Java (TM) JRE és JVM látható:

java verzió "1.8.0_181" Java (TM) SE futási környezet (1.8.0_181-b13 build) Java HotSpot (TM) 64 bites kiszolgáló virtuális gép (25.181-b13 build, vegyes mód)

Azt is ellenőrizhetjük, hogy a fordító telepítve van-e:

$ javac -verzió
javac 1.8.0_181

4. A JDK 10 telepítése

A Java 10 és a Java 9 verziók már nem támogatottak. Telepítheti őket manuálisan, a 2. szakaszhoz hasonló lépéseket követve. A csomagokat megragadhatja:

  • //jdk.java.net/archive/
  • //www.oracle.com/technetwork/java/javase/archive-139210.html

Mindkét webhely ugyanazt a figyelmeztetést tartalmazza:

A JDK ezen régebbi verziói segítséget nyújtanak a fejlesztőknek a régebbi rendszerek problémáinak elhárításához. Nincsenek frissítve a legújabb biztonsági javításokkal, és nem ajánlott a gyártásban való használatra.

4.1. Az OpenJDK 10 kézi telepítése

Lássuk, hogyan kell telepíteni az OpenJDK 10.0.1 programot:

$ wget //download.java.net/java/GA/jdk10/10.0.1/fb4372174a714e6b8c52526dc134031e/10/openjdk-10.0.1_linux-x64_bin.tar.gz $ sha256sum openjdk-10.0.1_linux-x64_bin.tar xzvf openjdk-10.0.1_linux-x64_bin.tar.gz $ sudo mkdir / usr / lib / jvm $ sudo mv jdk-10.0.1 / usr / lib / jvm / openjdk-10-manual-installation / $ sudo update-alternatives - -install / usr / bin / java java / usr / lib / jvm / openjdk-10-manual-installation / bin / java 1 $ sudo update-alternatives --install / usr / bin / javac javac / usr / lib / jvm / openjdk-10-manual-installation / bin / javac 1 $ java -version $ javac -version

4.2. Az Oracle JDK 10 kézi telepítése

Ahogy a 2.2. Szakaszban láthattuk, annak érdekében, hogy csomagot töltsünk le az Oracle webhelyéről, először el kell fogadnunk egy licencszerződést. A támogatott verziókkal ellentétben a régebbi Oracle JDK-kat nem tudjuk letölteni a következőn keresztül: wget és egy sütit. Fel kell mennünk a //www.oracle.com/technetwork/java/javase/downloads/java-archive-javase10-4425482.html oldalra, és le kell töltenünk a tar.gz fájl. Ezután követjük az ismert lépéseket:

$ sha256sum jdk-10.0.2_linux-x64_bin.tar.gz $ tar xzvf jdk-10.0.2_linux-x64_bin.tar.gz $ sudo mkdir / usr / lib / jvm $ sudo mv jdk-10.0.2 / usr / lib / jvm / oracle-jdk-10-manual-installation / $ sudo update-alternatives --install / usr / bin / java java / usr / lib / jvm / oracle-jdk-10-manual-installation / bin / java 1 $ sudo update -alternatívák --install / usr / bin / javac javac / usr / lib / jvm / oracle-jdk-10-manual-installation / bin / javac 1 $ java -version $ javac -version

5. A JDK 9 telepítése

5.1. Az OpenJDK 9 kézi telepítése

Ahogy fentebb láthattuk az OpenJDK 10.0.1-gyel, úgy az OpenJDK 9 csomagot is letöltöttük a következőn keresztül: wget és az egyezmények szerint állította fel:

$ wget //download.java.net/java/GA/jdk9/9.0.4/binaries/openjdk-9.0.4_linux-x64_bin.tar.gz $ sha256sum openjdk-9.0.4_linux-x64_bin.tar.gz $ tar xzvf openjdk -9.0.4_linux-x64_bin.tar.gz $ sudo mkdir / usr / lib / jvm $ sudo mv jdk-9.0.4 / usr / lib / jvm / openjdk-9-manual-installation / $ sudo update-alternatives --install / usr / bin / java java / usr / lib / jvm / openjdk-9-manual-installation / bin / java 1 $ sudo update-alternatives --install / usr / bin / javac javac / usr / lib / jvm / openjdk- 9-manual-installation / bin / javac 1 $ java -version $ javac -version

5.2. Az Oracle JDK 9 kézi telepítése

Ismét ugyanazt a módszert alkalmazzuk, mint a JDK 10 esetében. El kell mennünk a //www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html oldalra, és le kell töltenünk a tar.gz fájl. Utána az ismert lépéseket követjük:

$ sha256sum jdk-9.0.4_linux-x64_bin.tar.gz $ tar xzvf jdk-9.0.4_linux-x64_bin.tar.gz $ sudo mkdir / usr / lib / jvm $ sudo mv jdk-9.0.4 / usr / lib / jvm / oracle-jdk-9-manual-installation / $ sudo update-alternatives --install / usr / bin / java java / usr / lib / jvm / oracle-jdk-9-manual-installation / bin / java 1 $ sudo update -alternatívák --install / usr / bin / javac javac / usr / lib / jvm / oracle-jdk-9-manual-installation / bin / javac 1 $ java -version $ javac -version

6. Összehasonlítás

A JDK Ubuntu telepítésének három különböző módját láthattuk. Legyen gyors áttekintés mindegyikről, rámutatva az előnyeire és hátrányaira.

6.1. „Fő” adattár

Ez a „Ubuntu natív” telepítési mód. Nagy előnye, hogy a csomagokat a „szokásos módon” frissítjük találó munkafolyamat ” apt frissítés és talál frissítés.

Továbbá a „Fő” adattárat a Canonical gondozza ésszerűen gyors (ha nem azonnali) frissítéseket nyújt. Például az OpenJDK 10.0.1 és 10.0.2 verzióit a megjelenéstől számított egy hónapon belül szinkronizálták.

6.2. PPA

A HTM-ek kis adattárak amelyet egy fejlesztő vagy egy csoport tart fenn. Ez azt is jelenti, hogy a frissítés gyakorisága a karbantartótól függ.

A HTM-ek csomagjait figyelembe vesszük kockázatosabb, mint a „Fő” adattárban található csomagok. Először kifejezetten hozzá kell adnunk a PPA-t a rendszer adattárlistájához, jelezve, hogy megbízunk benne. Utána a szokásos módon tudjuk kezelni a csomagokat találó szerszám (apt frissítés és talál frissítés).

6.3. Kézi telepítés

A csomagot közvetlenül az OpenJDK vagy az Oracle webhelyéről töltjük le. Bár ez a módszer nagy rugalmasságot kínál, a frissítések a mi felelősségünk. Ha azt szeretnénk, hogy a legfrissebb és legnagyobb JDK legyen, akkor ez a helyes út.

7. A JDK-k más verzióinak feltárása

A 2. és 3. szakasz példái tükrözik az Ubuntu 18.04 LTS jelenlegi állapotát. Ne feledje, hogy a JDK-kat és a hozzájuk tartozó csomagokat rendszeresen frissítik. Ezért hasznos tudni, hogyan kell fedezze fel jelenlegi lehetőségeinket.

Ebben a részben az OpenJDK csomagok felmérésére összpontosítunk a „Fő” adattárban. Ha már hozzáadtunk egy PPA-t add-apt-repository, hasonló módon fedezhetjük fel a találó lista és találó műsor.

Annak kiderítéséhez, hogy mely PPA-k állnak rendelkezésre, elmehetünk a //launchpad.net/ oldalra. Ha nem találjuk meg a „Fő” adattárban és a HTM-ekben keresett dolgokat, akkor vissza kell térnünk a kézi telepítésre.

Ha nem támogatott verziót szeretnénk használni, még ez is nehéz lehet. A cikk írásakor az OpenJDK és az Oracle webhelyeken nem találtunk Java 9 vagy Java 10 csomagokat.

Nézzük meg, mely további JDK csomagok léteznek a „Fő” tárban:

$ apt lista openjdk * jdk

Az Ubuntu 18.04 LTS rendszeren a két jelenlegi LTS Java verzió közül választhatunk:

Felsorolás ... Kész openjdk-11-jdk / bionic-updates, bionic-security, most 10.0.2 + 13-1ubuntu0.18.04.2 amd64 [telepítve, automatikus] openjdk-8-jdk / bionic-updates, bionic-security 8u181-b13-0ubuntu0.18.04.1 amd64

Azt is érdemes megjegyezni, hogy bár a csomagot hívják openjdk-11-jdk, ezzel az írással valóban telepíti a 10.0.2-es verziót. Ez valószínűleg hamarosan megváltozik. Láthatjuk, hogy ha megvizsgáljuk a csomagot:

$ apt show openjdk-11-jdk

Vessünk egy pillantást a kimenet “Attends” szakaszára. Ne feledje, hogy ezek a csomagok (pl. JRE) is telepítésre kerülnek openjdk-11-jdk:

Attól függ: openjdk-11-jre (= 10.0.2 + 13-1ubuntu0.18.04.2), openjdk-11-jdk-headless (= 10.0.2 + 13-1ubuntu0.18.04.2), libc6 (> = 2.2. 5)

Fedezzük fel, hogy az alapértelmezett jdk csomagon kívül mely csomagok állnak még rendelkezésünkre:

$ apt lista openjdk-11 *
Felsorolás ... Kész openjdk-11-dbg / bionic-updates, bionic-security 10.0.2 + 13-1ubuntu0.18.04.2 amd64 openjdk-11-demo / bionic-updates, bionic-security 10.0.2 + 13-1ubuntu0 .18.04.2 amd64 openjdk-11-doc / bionic-updates, bionic-updates, bionic-security, bionic-security 10.0.2 + 13-1ubuntu0.18.04.2 all openjdk-11-jdk / bionic-updates, bionic- security 10.0.2 + 13-1ubuntu0.18.04.2 amd64 openjdk-11-jdk-headless / bionic-updates, bionic-security 10.0.2 + 13-1ubuntu0.18.04.2 amd64 openjdk-11-jre / bionic-updates, bionic-security, most 10.0.2 + 13-1ubuntu0.18.04.2 amd64 [telepítve, automatikus] openjdk-11-jre-headless / bionic-updates, bionic-security, most 10.0.2 + 13-1ubuntu0.18.04.2 amd64 [telepítve, automatikus] openjdk-11-jre-zero / bionic-updates, bionic-security 10.0.2 + 13-1ubuntu0.18.04.2 amd64 openjdk-11-source / bionic-updates, bionic-updates, bionic-security , bionikus biztonság 10.0.2 + 13-1ubuntu0.18.04.2 összes

Hasznosnak találhatunk néhány ilyen csomagot. Például, openjdk-11-forrás forrásfájlokat tartalmaz a Java core API osztályaihoz, míg openjdk-11-dbg a hibakereső szimbólumokat tartalmazza.

mellett openjdk- * család, ott van a alapértelmezett-jdk csomagot, érdemes felfedezni:

$ apt show default-jdk

A kimenet végén a leírás a következőket mondja:

"Ez a függőségi csomag rámutat az ehhez az architektúrához ajánlott Java futásidejű vagy Java kompatibilis fejlesztőkészletre ..."

Az Ubuntu 18.04 LTS esetében ez a csomag openjdk-11-jdk pillanatnyilag.

8. Áttekintés: Java verziók és csomagok

Most nézzük meg, hogyan írhatók le a Java különböző verziói az Ubuntu 18.04 LTS-re:

VáltozatOpenJDKOracle Java
11kézi telepítéskézi telepítés

oracle-java11-installer ban,-ben linuxuprising PPA

10kézi telepítés - nem támogatottkézi telepítés - nem támogatott
9kézi telepítés - nem támogatottkézi telepítés - nem támogatott
8openjdk-8-jdk a „Fő” adattárbanoracle-java8-installer ban,-ben webupd8team PPA

9. Több Java verzió egy Ubuntu rendszeren

Az ugyanazon szoftver több verziójának Ubuntuban történő kezelésének szokásos módja a Debian Alternatives System. Legtöbbször alternatívákat hozunk létre, tartunk fenn és jelenítünk meg a update-alternatives program.

Mikor találó telepít egy JDK csomagot, automatikusan hozzáadja az alternatívák bejegyzéseit. Manuális telepítés esetén láttuk, hogyan lehet hozzáadni az alternatívákat Jáva és javac illetőleg.

Vessünk egy pillantást alternatíváinkra:

$ update-alternatives --display java

Tesztrendszerünkön, ahol az OpenJDK két különböző verzióját telepítettük, a kimenet mindkét alternatívát felsorolja a megfelelő prioritásokkal:

java - az auto mode link legjobb verziója a / usr / lib / jvm / java-11-openjdk-amd64 / bin / java link jelenleg a / usr / lib / jvm / java-11-openjdk-amd64 / bin / java link java fájlra mutat a / usr / bin / java slave java.1.gz a /usr/share/man/man1/java.1.gz / usr / lib / jvm / java-11-openjdk-amd64 / bin / java - 1101 prioritású slave java.1.gz: /usr/lib/jvm/java-11-openjdk-amd64/man/man1/java.1.gz / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java - 1081-es számú rabszolga java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz

Most, hogy megláttuk alternatíváinkat, válthatunk is közöttük:

$ sudo update-alternatives --config java

Ezen felül kapunk egy interaktív kimenetet, ahol a billentyűzeten keresztül válthatunk az alternatívák között:

Két lehetőség van az alternatív java használatára (/ usr / bin / java). Kiválasztási út prioritási állapota ---------------------------------------------- -------------- * 0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1101 automatikus mód 1 / usr / lib / jvm / java-11-openjdk -amd64 / bin / java 1101 manuális mód 2 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081 kézi üzemmód

Ha a Java különböző verzióiban írt több alkalmazáson dolgozunk, akkor valószínűleg más szoftverek különböző verzióira is szükségünk lesz (pl. Maven, néhány alkalmazásszerver). Ebben az esetben fontolóra vehetjük a nagyobb absztrakciók, például a Docker-konténerek használatát.

10. Következtetés

Összefoglalva, ebben a cikkben láthattunk példákat egy JDK telepítésére a „Main” adattárból, egy PPA-ból és manuálisan. Röviden összehasonlítottuk ezt a három telepítési módszert.

Végül láttuk, hogyan lehet több Java-telepítést kezelni az Ubuntu rendszeren update-alternatives.

Következő lépésként hasznos lehet a JAVA_HOME környezeti változó.


$config[zx-auto] not found$config[zx-overlay] not found