Jak zainstalować JDK 11 pod Ubuntu?

107

Więc Java 11 jest niedostępna . Czy ktoś wie, jak to zainstalować (OpenJDK od Oracle) z wiersza poleceń?

Chciałbym zobaczyć coś takiego jak wcześniej w przypadku Oracle Java 10:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer

PS W podobnym pytaniu zaproponowano instrukcję:

sudo apt-get install openjdk-11-jdk

nie działa.

Dmitriy Dumanskiy
źródło
Jaki błąd otrzymujesz, próbując to zrobić sudo apt-get install openjdk-11-jdk?
Mureinik,
5
Oto „oficjalne” instrukcje instalacji systemu Linux. Istnieje RPM ( yum) lub możesz zainstalować ręcznie z bibliotek archiwów. Ale najwyraźniej nie ma Debiana apt-get(jeszcze). P: Dlaczego więc po prostu nie zainstalować z tar.gz? Zobacz także update-alternatives
paulsm4
3
@Mureinik „E: Nie można zlokalizować pakietu openjdk-11-jdk” w systemie Ubuntu 16.04
Dmitriy Dumanskiy
1
@Mureinik W tej chwili ten pakiet nadal instaluje Javę 10. Zakładam, że zostanie zaktualizowany w najbliższych dniach.
Robert
5
@Robert następne dni, następne tygodnie, następne miesiące ...
9ilsdx 9rvj 0lo

Odpowiedzi:

200

Teraz można zainstalować openjdk-11 w ten sposób:

sudo apt-get install openjdk-11-jdk

(Wcześniej zainstalował openjdk-10, ale już nie)

9ilsdx 9rvj 0lo
źródło
1
Czy to kompilacja Oracle czy z adoptOpenJDK?
Dmitriy Dumanskiy
1
Właściwie myślę, że to Oracle OpenJDK. Myślę, że Debian / Ubuntu po prostu pobierz archiwum z wydania Oracle OpenJDK, dodaj kilka poprawek na wierzchu i zbuduj ich pakiety.
andresp
9
Jeśli nie używasz języka Java w żadnym środowisku graficznym, możesz preferować instalację openjdk-11-jdk-headless. Lub jeśli wszystko, czego chcesz, to uruchomić coś, a nie kompilować, również openjdk-11-jre[-headless]może Ci odpowiadać.
Piohen
11
Musiałem sudo add-apt-repository ppa:openjdk-r/ppanajpierw uruchomić, aby dodać repozytorium.
Arboreal Shark
3
To samo tutaj. Również sudo apt-get updatedo aktualizacji repozytorium. Potem sudo apt-get install openjdk-11-jdkzadziałało.
Michael
57

Aby zainstalować Openjdk 11 w Ubuntu, następujące polecenia działały dobrze.

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt install openjdk-11-jdk
kaniyan
źródło
Pierwsze polecenie Pi daje mi: aptsources.distro.NoDistroTemplateException: Error: nie można znaleźć szablonu dystrybucji dla Raspbian / stretch
Nikolay Klimchuk
Pracował dla mnieopenjdk-11-jdk-headless
WhyAyala
38

Każdemu, kto korzysta z JDK w systemie Ubuntu i chce zaktualizować go do JDK11, polecam instalację za pośrednictwem sdkman . SDKMAN to narzędzie do przełączania maszyn JVM, usuwania i uaktualniania.

SDKMAN to narzędzie do zarządzania równoległymi wersjami wielu zestawów programistycznych w większości systemów Unix. Zapewnia wygodny interfejs wiersza poleceń (CLI) i interfejs API do instalowania, przełączania, usuwania i wyświetlania Kandydatów.

Zainstaluj SDKMAN

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version

Zainstaluj Javę (11.0.3-zulu)

$ sdk install java
Kamal
źródło
1
Wow, coś nawet podobnego do Anaconda dla Javy? Kto by pomyślał!
Joshua Detwiler
błąd: „Pobrane archiwum zip jest uszkodzone. Czy masz połączenie z internetem?”
masterxilo
@masterxilo, czy możesz wyjaśnić więcej na temat błędu, który masz, na pewno potrzebujesz Internetu, aby pobrać narzędzie SDKMAN. Próbowałem tylko zainstalować narzędzie SDKMAN na platformie UNIX, czy próbujesz je wypróbować na platformie Windows?
Kamal
11

sudo apt-get install openjdk-11-jdk

po tym spróbuj

java -version

aby upewnić się, że wersja java to 1.11.x, jeśli znalazłeś starą lub inną, sprawdź poniższe polecenie, aby zobaczyć dostępne jdks,

sudo update-java-alternatives --list

powinieneś zobaczyć coś takiego poniżej,

java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64

java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64

możesz zobaczyć java 1.11 dostępną z powyższej listy, użyj poniższej komendy, aby ustawić java 11 na domyślną,

sudo update-alternatives --config java

dla powyższego polecenia otrzymasz coś takiego jak poniżej, a także poprosi o opcję ustawienia,

Istnieją 3 opcje dla alternatywnej javy (podając / usr / bin / java).

Status priorytetu ścieżki wyboru


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111 tryb automatyczny

1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111 tryb ręczny

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081 tryb ręczny

3 /usr/lib/jvm/jdk1.8.0_211/bin/java 0 tryb ręczny

Naciśnij, aby zachować aktualny wybór [*] lub wpisz numer wyboru:

możesz wybrać żądany numer wyboru, w moim przypadku jest to 0

dla javac,

sudo update-alternatives --config javac

da coś takiego jak poniżej,

Istnieją 3 możliwości alternatywnego javac (podając / usr / bin / javac).

Status priorytetu ścieżki wyboru


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111 tryb automatyczny

1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111 tryb ręczny

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / bin / javac 1081 tryb ręczny
3 /usr/lib/jvm/jdk1.8.0_211/bin/javac 0 tryb ręczny

Naciśnij, aby zachować aktualny wybór [*] lub wpisz numer wyboru:

w moim przypadku znowu jest 0

po wykonaniu powyższych czynności spróbuj

java -version

wyświetli coś takiego jak poniżej,

openjdk wersja „11.0.4” 2019-07-16

Środowisko uruchomieniowe OpenJDK (kompilacja 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3)

64-bitowa maszyna wirtualna serwera OpenJDK (wersja 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3, tryb mieszany>, udostępnianie)

Som
źródło
8

W Ubuntu możesz po prostu zainstalować Open JDK, wykonując następujące polecenia.

sudo apt-get update    
sudo apt-get install default-jdk

Możesz sprawdzić wersję java, wykonując polecenie.

java -version

Jeśli chcesz zainstalować Oracle JDK 8, wykonaj poniższe polecenia.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Jeśli chcesz zmienić wersje Java, możesz wypróbować poniższe metody.

vi ~/.bashrci dodaj następujący wiersz export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(ścieżka / folder jdk)

lub

sudo vi /etc/profile i dodaj następujące wiersze

#JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export JRE_HOME
export PATH

Możesz skomentować drugą wersję. Musisz się wylogować i zalogować ponownie, aby używać. Jeśli chcesz wypróbować to w podróży, możesz wpisać poniższe polecenie w tym samym terminalu. Zaktualizuje tylko wersję java dla określonego terminala.

source /etc/profile

Zawsze możesz sprawdzić wersję java za pomocą java -versionpolecenia.

Jagath Wijesinghe
źródło
2

Przyszedłem tutaj, szukając odpowiedzi, a ponieważ nikt nie umieścił polecenia dla Oracle Java 11, a tylko openjava 11, zorientowałem się, jak to zrobić na Ubuntu, składnia jest następująca:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java11-installer
P. Lion
źródło
7
Oracle JVM (Hotspot) nie jest już darmowy do użytku produkcyjnego. Więc wolałbym kompilacje OpenJDK.
Dmitriy Dumanskiy
2
Niestety, też to zawiązałem i to nie działa. Jest napisane: E: Nie można zlokalizować pakietu oracle-java11-installer
Nditah
2

Najpierw sprawdź default-jdkpakiet, duża szansa, że ​​już zapewnia OpenJDK >= 11.
ref: https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all§ion=all

Ubuntu 18.04 LTS +

Począwszy od Ubuntu 18.04 LTS powinno być dobrze.

sudo apt update -qq
sudo apt install -yq default-jdk

uwaga: nie zapomnij ustawić JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/default-java
mvn -version

Ubuntu 16.04 LTS

W przypadku Ubuntu 16.04 LTSopenjdk-8-jdk jest dostępny tylko w oficjalnych repozytoriach, więc musisz go znaleźć w ppa :

sudo add-apt-repository -y ppa:openjdk-r/ppa
sudo apt update -qq
sudo apt install -yq openjdk-11-jdk

uwaga: nie zapomnij ustawić JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
mvn -version
Mizux
źródło
1

Stworzyłem skrypt Bash, który w zasadzie automatyzuje ręczną instalację opisaną w powiązanym podobnym pytaniu . Wymaga tar.gzpliku oraz jego sumarycznej wartości SHA256. Możesz dowiedzieć się więcej informacji i pobrać skrypt z mojej strony projektu GitHub . Jest udostępniany na licencji MIT.

Jose Henriquez
źródło