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áltozat | OpenJDK | Oracle Java |
11 | kézi telepítés | kézi telepítés oracle-java11-installer ban,-ben linuxuprising PPA |
10 | kézi telepítés - nem támogatott | kézi telepítés - nem támogatott |
9 | kézi telepítés - nem támogatott | kézi telepítés - nem támogatott |
8 | openjdk-8-jdk a „Fő” adattárban | oracle-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ó.