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:

VersjonOpenJDKOracle Java
11manuell installasjonmanuell installasjon

oracle-java11-installer i linuxuprising PPA

10manuell installasjon - støttes ikkemanuell installasjon - støttes ikke
9manuell installasjon - støttes ikkemanuell installasjon - støttes ikke
8openjdk-8-jdk i "Main" -registeretoracle-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.


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