Installere Java på Ubuntu
1. Oversikt
I denne opplæringen vil vi introdusere forskjellige metoder for å installere en JDK på Ubuntu. Deretter vil vi kort sammenligne metodene. Til slutt viser vi hvordan du administrerer flere Java-installasjoner på et Ubuntu-system.
Som en forutsetning for hver metode trenger vi
- et Ubuntu-system
- å være logget på som en ikke-rotbruker med sudo privilegier
Instruksjonene beskrevet nedenfor er testet på Ubuntu 18.10, 18.04 LTS, 16.04 LTS og 14.04 LTS. For Ubuntu 14.04 LTS er det noen forskjeller som er nevnt i teksten.
Vær oppmerksom på at både pakkene du kan laste ned fra OpenJDK og Oracle, og pakkene som er tilgjengelige i arkiver oppdateres regelmessig. De eksakte pakkenavnene vil sannsynligvis endres i løpet av noen måneder, men de grunnleggende installasjonsmetodene vil være de samme.
2. Installere JDK 11
Hvis vi vil bruke den nyeste og beste versjonen av JDK, er manuell installasjon ofte veien å gå. Dette betyr å laste ned en pakke fra OpenJDK eller Oracle-nettstedet og sette den opp slik at den overholder konvensjonene om hvordan apt setter opp JDK-pakkene.
2.1. Installere OpenJDK 11 manuelt
Først av alt, la oss laste ned tjære arkiv med nylig utgitte OpenJDK 11:
$ wget //download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz
Og vi sammenligner sha256 summen av den nedlastede pakken med den som er gitt på OpenJDK-nettstedet:
$ sha256sum openjdk-11_linux-x64_bin.tar.gz
La oss trekke ut tjære arkiv:
$ tar xzvf openjdk-11_linux-x64_bin.tar.gz
La oss deretter flytte jdk-11 katalog vi nettopp har hentet ut i en underkatalog for / usr / lib / jvm. De apt pakker som er beskrevet i neste avsnitt, legger også JDK-ene sine i denne katalogen:
$ sudo mkdir / usr / lib / jvm $ sudo mv jdk-11 / usr / lib / jvm / openjdk-11-manuell installasjon /
Nå vil vi lage java og javac tilgjengelige kommandoer. En mulighet ville være å lage symbolske lenker for dem, for eksempel i / usr / søppel katalog. Men i stedet installerer vi et alternativ for dem begge. På denne måten, hvis vi noen gang ønsker å installere flere versjoner av JDK, vil de spille fint sammen:
$ sudo oppdateringsalternativer - install / usr / bin / java java / usr / lib / jvm / openjdk-11-manuell installasjon / bin / java 1 $ sudo oppdateringsalternativer - install / usr / bin / javac javac / usr / lib / jvm / openjdk-11-manual-installation / bin / javac 1
La oss verifisere installasjonen:
$ java -versjon
Som vi kan se fra utgangen, har vi virkelig installert den nyeste versjonen av OpenJDK JRE og JVM:
openjdk versjon "11" 2018-09-25 OpenJDK Runtime Environment 18.9 (build 11 + 28) OpenJDK 64-Bit Server VM 18.9 (build 11 + 28, mixed mode)
La oss ta en titt på kompilatorversjonen også:
$ javac -versjon
11
2.2. Installere Oracle JDK 11 manuelt
Hvis vi vil sørge for å bruke den nyeste versjonen av Oracle JDK, kan vi følge en lignende manuell arbeidsflyt som for OpenJDK. For å laste ned tjære arkiv for JDK 11 fra Oracle-nettstedet, vi må godta en lisensavtale først. Av denne grunn laster du ned via wget er litt mer komplisert enn for OpenJDK:
$ 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
Eksemplet ovenfor laster ned pakken for 11.0.1 Den eksakte nedlastingskoblingen endres for hver mindre versjon.
Følgende trinn er de samme som for OpenJDK:
$ 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-manuell installasjon / $ sudo oppdateringsalternativer - install / usr / bin / java java / usr / lib / jvm / oracle-jdk-11-manuell installasjon / bin / java 1 $ sudo-oppdatering -alternativer - install / usr / bin / javac javac / usr / lib / jvm / oracle-jdk-11-manual-installation / bin / javac 1
Bekreftelsen er også den samme. Men utgangen viser at denne gangen har vi ikke installert OpenJDK men Java (TM):
$ java -versjon
java versjon "11.0.1" 2018-10-16 LTS Java (TM) SE Runtime Environment 18.9 (build 11.0.1 + 13-LTS) Java HotSpot (TM) 64-Bit Server VM 18.9 (build 11.0.1 + 13- LTS, blandet modus)
Og for kompilatoren:
$ javac -versjon
javac 11.0.1
2.3. Installere Oracle JDK 11 fra en PPA
For øyeblikket er Oracle JDK 11 også tilgjengelig i en PPA (personlig pakkearkiv). Denne installasjonen involverer to trinn: legge til depotet til systemet vårt og installere pakken fra depotet via apt:
$ sudo add-apt-repository ppa: linuxuprising / java $ sudo apt oppdatering $ sudo apt installere oracle-java11-installer
Bekreftelsestrinnene skal vise det samme resultatet som etter manuell installasjon i avsnitt 2.2.1 .:
$ java -versjon
java versjon "11.0.1" 2018-10-16 LTS Java (TM) SE Runtime Environment 18.9 (build 11.0.1 + 13-LTS) Java HotSpot (TM) 64-Bit Server VM 18.9 (build 11.0.1 + 13- LTS, blandet modus)
Og for kompilatoren:
$ javac -versjon
javac 11.0.1
På Ubuntu 14.04 LTS add-apt-repository kommandoen er ikke tilgjengelig som standard. For å legge til et lager, må vi først installere programvare-egenskaper-vanlig pakke.
$ sudo apt oppdatering $ sudo apt installer programvare-egenskaper-vanlig
Etterpå kan vi fortsette med add-apt-repository, apt oppdatering og apt installere som vist ovenfor.
3. Installere JDK 8
3.1. Installere OpenJDK 8 på Ubuntu 16.04 LTS og nyere
JDK 8 er en LTS-versjon som har eksistert en stund. Av denne grunn kan vi finne en oppdatert versjon av OpenJDK 8 i "Main" -registeret på de fleste av de støttede Ubuntu-versjonene. Selvfølgelig kan vi også gå til OpenJDK-nettstedet, ta en pakke der og installere den på samme måte som vi har sett i forrige avsnitt.
Men ved hjelp av apt verktøy og "Main" repository gir noen fordeler. "Hoved" -registeret er tilgjengelig som standard på alle Ubuntu-systemer. Den støttes av Canonical - det samme selskapet som vedlikeholder Ubuntu selv.
La oss installere OpenJDK 8 fra "Main" repository med apt:
$ sudo apt oppdatering $ sudo apt installer openjdk-8-jdk
La oss nå bekrefte installasjonen:
$ java -versjon
Resultatet skal liste opp et Runtime-miljø og en JVM:
openjdk versjon "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
La oss sjekke at javac kjørbar er også tilgjengelig:
$ javac -versjon
Nå skal vi se samme versjonsnummer som vist ovenfor:
javac 1.8.0_181
3.2. Installere OpenJDK 8 på Ubuntu 14.04 LTS
På Ubuntu 14.04 LTS er OpenJDK-pakkene ikke tilgjengelige i "Main" -registeret, så vi installerer dem fra openjdk-r PPA. Som vi har sett i avsnitt 2.3 ovenfor, er add-apt-repository kommandoen er ikke tilgjengelig som standard. Vi trenger programvare-egenskaper-vanlig pakke for det:
$ sudo apt oppdatering $ sudo apt installere programvareegenskaper-vanlig $ sudo add-apt-repository ppa: openjdk-r / ppa $ sudo apt oppdatering $ sudo apt installere openjdk-8-jdk
3.3. Installere Oracle JDK 8 fra en PPA
“Hoved” depotet inneholder ikke proprietær programvare. Hvis vi vil installere Oracle Java med apt, må vi bruke en pakke fra en PPA. Vi har allerede sett hvordan du installerer Oracle JDK 11 fra linuxuprising PPA. For Java 8 kan vi finne pakkene i webupd8team PPA.
Først må vi legge til PPA apt lager til systemet vårt:
$ sudo add-apt-repository ppa: webupd8team / java
Deretter kan vi installere pakken på vanlig måte:
$ sudo apt oppdatering $ sudo apt installer oracle-java8-installer
Under installasjonen må vi godta Oracles lisensavtale. La oss verifisere installasjonen:
$ java -versjon
Utgangen viser en Java (TM) JRE og JVM:
java versjon "1.8.0_181" Java (TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot (TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
Vi kan også bekrefte at kompilatoren er installert:
$ javac -versjon
javac 1.8.0_181
4. Installere JDK 10
Versjonene Java 10 og Java 9 støttes ikke lenger. Du kan installere dem manuelt ved å følge lignende trinn som i avsnitt 2. Du kan hente pakkene fra:
- //jdk.java.net/archive/
- //www.oracle.com/technetwork/java/javase/archive-139210.html
Begge sidene inneholder samme advarsel:
Disse eldre versjonene av JDK er gitt for å hjelpe utviklere med å feilsøke problemer i eldre systemer. De er ikke oppdatert med de nyeste sikkerhetsoppdateringene og anbefales ikke for bruk i produksjonen.
4.1. Installere OpenJDK 10 manuelt
La oss se hvordan du installerer OpenJDK 10.0.1:
$ 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.gz $ 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-manuell installasjon / $ sudo oppdateringsalternativer - -install / usr / bin / java java / usr / lib / jvm / openjdk-10-manuell installasjon / bin / java 1 $ sudo oppdateringsalternativer - install / usr / bin / javac javac / usr / lib / jvm / openjdk-10-manuell installasjon / bin / javac 1 $ java -versjon $ javac -versjon
4.2. Installere Oracle JDK 10 manuelt
Som vi har sett i avsnitt 2.2., For å laste ned en pakke fra Oracle-nettstedet, vi må godta en lisensavtale først. I motsetning til de versjonene som støttes, kan vi ikke laste ned de eldre Oracle JDK-ene via wget og en informasjonskapsel. Vi må gå til //www.oracle.com/technetwork/java/javase/downloads/java-archive-javase10-4425482.html og laste ned tar.gz fil. Etterpå følger vi de kjente trinnene:
$ 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-manuell installasjon / $ sudo oppdateringsalternativer - install / usr / bin / java java / usr / lib / jvm / oracle-jdk-10-manuell installasjon / bin / java 1 $ sudo-oppdatering -alternativer --install / usr / bin / javac javac / usr / lib / jvm / oracle-jdk-10-manual-installation / bin / javac 1 $ java -versjon $ javac -versjon
5. Installere JDK 9
5.1. Installere OpenJDK 9 manuelt
Akkurat som vi så ovenfor med OpenJDK 10.0.1, laster vi ned OpenJDK 9-pakken via wget og sette den opp i henhold til konvensjonene:
$ 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-manuell installasjon / $ sudo oppdateringsalternativer - installer / usr / bin / java java / usr / lib / jvm / openjdk-9-manuell installasjon / bin / java 1 $ sudo oppdateringsalternativer --install / usr / bin / javac javac / usr / lib / jvm / openjdk- 9-manuell installasjon / bin / javac 1 $ java -versjon $ javac -versjon
5.2. Installere Oracle JDK 9 manuelt
Nok en gang bruker vi den samme metoden som for JDK 10. Vi må gå til //www.oracle.com/technetwork/java/javase/downloads/java-archive-javase9-3934878.html og laste ned tar.gz fil. Etterpå følger vi de kjente trinnene:
$ 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-manuell installasjon / $ sudo oppdateringsalternativer - install / usr / bin / java java / usr / lib / jvm / oracle-jdk-9-manuell installasjon / bin / java 1 $ sudo-oppdatering -alternativer --install / usr / bin / javac javac / usr / lib / jvm / oracle-jdk-9-manual-installation / bin / javac 1 $ java -versjon $ javac -versjon
6. Sammenligning
Vi har sett tre forskjellige måter å installere en JDK på Ubuntu på. La oss få en rask oversikt over hver av dem, og påpeke fordeler og ulemper.
6.1. "Main" Repository
Dette er “Ubuntu native” måte å installere på. En stor fordel er at vi oppdaterer pakkene via “vanlig apt arbeidsflyt ”med apt oppdatering og apt oppgradering.
Videre vedlikeholdes "Main" -registeret av Canonical, som gir rimelige raske (om ikke umiddelbare) oppdateringer. For eksempel ble OpenJDK versjoner 10.0.1 og 10.0.2 begge synkronisert innen en måned etter utgivelsen.
6.2. PPA
PPA er små arkiver vedlikeholdes av en enkelt utvikler eller en gruppe. Dette betyr også at oppdateringsfrekvensen avhenger av vedlikeholderen.
Pakker fra PPA vurderes mer risikofylt enn pakkene i "Main" -registeret. Først må vi legge til PPA eksplisitt i systemets depotliste, noe som indikerer at vi stoler på det. Etterpå kan vi administrere pakkene via det vanlige apt verktøy (apt oppdatering og apt oppgradering).
6.3. Manuell installasjon
Vi laster ned pakken direkte fra OpenJDK eller Oracle-nettstedet. Selv om denne metoden gir stor fleksibilitet, er oppdateringer vårt ansvar. Hvis vi vil ha den nyeste og beste JDK, er dette veien å gå.
7. Utforske andre versjoner av JDK-er
Eksemplene i avsnitt 2 og 3 gjenspeiler gjeldende status på Ubuntu 18.04 LTS. Husk at JDK-ene og de tilsvarende pakkene oppdateres regelmessig. Derfor er det nyttig å vite hvordan utforske våre nåværende muligheter.
I denne delen vil vi fokusere på kartlegging av OpenJDK-pakkene i "Main" -registeret. Hvis vi allerede har lagt til en PPA med add-apt-repository, kan vi utforske det på en lignende måte med apt liste og treffende show.
For å finne ut hvilke PPA-er som er tilgjengelige, kan vi gå til //launchpad.net/. Hvis vi ikke finner det vi ser etter i "Main" -registeret og i PPA-ene, må vi falle tilbake til manuell installasjon.
Hvis vi vil bruke en versjon som ikke støttes, kan selv det være vanskelig. I skrivende stund fant vi ingen pakker for Java 9 eller Java 10 på OpenJDK og Oracle nettsteder.
La oss se hvilke andre JDK-pakker som finnes i "Main" -registeret:
$ apt liste openjdk * jdk
På Ubuntu 18.04 LTS kan vi velge mellom de to nåværende LTS Java-versjonene:
Oppføring ... Ferdig openjdk-11-jdk / bionic-oppdateringer, bionic-sikkerhet, nå 10.0.2 + 13-1ubuntu0.18.04.2 amd64 [installert, automatisk] openjdk-8-jdk / bionic-oppdateringer, bionic-sikkerhet 8u181-b13-0ubuntu0.18.04.1 amd64
Det er også verdt å merke seg at selv om pakken heter openjdk-11-jdk, når dette skrives, installerer den faktisk versjon 10.0.2. Dette vil sannsynligvis endre seg snart. Vi kan se at hvis vi inspiserer pakken:
$ apt viser openjdk-11-jdk
La oss ta en titt på "Avhenger" -delen av utdataene. Merk at disse pakkene (f.eks. En JRE) også blir installert ved siden av openjdk-11-jdk:
Avhenger: 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)
La oss undersøke hvilke andre pakker vi har til rådighet i tillegg til standard jdk-pakken:
$ apt liste openjdk-11 *
Oppføring ... Ferdig 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- sikkerhet 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, nå 10.0.2 + 13-1ubuntu0.18.04.2 amd64 [installert, automatisk] openjdk-11-jre-headless / bionic-updates, bionic-security, nå 10.0.2 + 13-1ubuntu0.18.04.2 amd64 [installert, automatisk] 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 , bionisk sikkerhet 10.0.2 + 13-1ubuntu0.18.04.2 alle
Vi kan finne noen av disse pakkene nyttige. For eksempel, openjdk-11-kilde inneholder kildefiler for klassene i Java core API, mens openjdk-11-dbg inneholder feilsøkingssymbolene.
Ved siden av openjdk- * familie, det er det standard-jdk pakke, det er verdt å utforske:
$ apt viser standard-jdk
På slutten av utgangen sier beskrivelsen:
"Denne avhengighetspakken peker på Java-kjøretiden, eller Java-kompatibelt utviklingssett som anbefales for denne arkitekturen ..."
I tilfelle Ubuntu 18.04 LTS er det pakken openjdk-11-jdk for øyeblikket.
8. Oversikt: Java-versjoner og pakker
La oss nå se på hvordan forskjellige versjoner av Java kan installeres på Ubuntu 18.04 LTS i skrivende stund:
Versjon | OpenJDK | Oracle Java |
11 | manuell installasjon | manuell installasjon oracle-java11-installer i linuxuprising PPA |
10 | manuell installasjon - støttes ikke | manuell installasjon - støttes ikke |
9 | manuell installasjon - støttes ikke | manuell installasjon - støttes ikke |
8 | openjdk-8-jdk i "Main" -registeret | oracle-java8-installer i webupd8team PPA |
9. Flere Java-versjoner på et Ubuntu-system
Standard måten å administrere flere versjoner av den samme programvaren på Ubuntu er via Debian Alternatives System. Mesteparten av tiden lager vi, vedlikeholder og viser alternativer via oppdateringsalternativer program.
Når apt installerer en JDK-pakke, legger den automatisk til oppføringene for alternativene. Når det gjelder manuell installasjon, har vi sett hvordan du legger til alternativene for java og javac henholdsvis.
La oss ta en titt på alternativene våre:
$ oppdateringsalternativer - vis java
På vårt testsystem, der vi har installert to forskjellige versjoner av OpenJDK, viser utgangen begge alternativene med deres respektive prioriteringer:
java - auto mode link beste versjonen er / usr / lib / jvm / java-11-openjdk-amd64 / bin / java link peker for øyeblikket til / usr / lib / jvm / java-11-openjdk-amd64 / bin / java link java er / usr / bin / java slave java.1.gz er /usr/share/man/man1/java.1.gz / usr / lib / jvm / java-11-openjdk-amd64 / bin / java - prioritet 1101 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 - prioritet 1081 slave java.1.gz: /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz
Nå som vi har sett alternativene våre, vi kan også bytte mellom dem:
$ sudo oppdateringsalternativer - config java
I tillegg får vi en interaktiv utgang der vi kan bytte mellom alternativene via tastaturet:
Det er to valg for alternativ java (å tilby / usr / bin / java). Valgbane Prioritetsstatus ---------------------------------------------- -------------- * 0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1101 auto mode 1 / usr / lib / jvm / java-11-openjdk -amd64 / bin / java 1101 manuell modus 2 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081 manuell modus Trykk for å beholde gjeldende valg [*], eller skriv valgnummer:
Hvis vi jobber med flere applikasjoner skrevet i forskjellige versjoner av Java, er sjansen stor for at vi også trenger forskjellige versjoner av annen programvare (f.eks. Maven, en eller annen applikasjonsserver). I så fall vil vi kanskje vurdere å bruke større abstraksjoner som Docker-containere.
10. Konklusjon
For å oppsummere har vi i denne artikkelen sett eksempler på å installere en JDK fra "Main" -registeret, fra en PPA og manuelt. Vi har kort sammenlignet disse tre installasjonsmetodene.
Og til slutt har vi sett hvordan du kan administrere flere Java-installasjoner på Ubuntu-systemet med oppdateringsalternativer.
Som et neste trinn kan det være nyttig å stille inn JAVA_HOME miljøvariabel.