Як встановити JDK 11 під Ubuntu?


97

Отже, Java 11 вийшла . Хтось знає, як його встановити (OpenJDK від Oracle) з командного рядка?

Я хотів би побачити щось подібне до Oracle Java 10:

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

PS У подібному питанні пропонується інструкція:

sudo apt-get install openjdk-11-jdk

не працює.


Яку помилку ви отримуєте при спробі sudo apt-get install openjdk-11-jdk?
Mureinik

5
Ось "офіційні" інструкції з встановлення Linux. Існує RPM ( yum), або ви можете встановити вручну з бібліотек архівів. Але, мабуть, ніякого Debian apt-get(поки). З: Чому б просто не встановити з tar.gz? Дивіться також альтернативні варіанти оновлення
paulsm4

2
@Mureinik "E: Не вдається знайти пакет openjdk-11-jdk" на Ubuntu 16.04
Дмитро Думанський,

1
@Mureinik На даний момент цей пакет все ще встановлює Java 10. Він буде оновлений у найближчі дні, я передбачаю, що надасть Java 11.
Роберт

5
@Robert наступні дні, наступні тижні, наступні місяці ...
9ilsdx 9rvj 0lo

Відповіді:


184

Тепер можна встановити openjdk-11 таким чином:

sudo apt-get install openjdk-11-jdk

(Раніше він встановлював openjdk-10, але більше не)


1
Це збірка Oracle або з acceptOpenJDK?
Дмитро Думанський

1
Насправді я думаю, що це Oracle OpenJDK. Я думаю, що Debian / Ubuntu просто завантажує tarball з випуску Oracle OpenJDK, додає кілька патчів зверху і створює свої пакунки.
andresp

9
Якщо ви не використовуєте Java у будь-якому середовищі графічного інтерфейсу, ви можете віддати перевагу встановленню openjdk-11-jdk-headless. Або якщо все, що ви хочете, це запустити щось, а не компілювати, openjdk-11-jre[-headless]може вас влаштувати.
Піохен

10
Мені потрібно було запустити sudo add-apt-repository ppa:openjdk-r/ppaспочатку, щоб додати сховище.
Дербова акула

2
Те ж саме. Також sudo apt-get updateдля оновлення сховища. Потім sudo apt-get install openjdk-11-jdkпрацював.
Майкл

53

Щоб встановити Openjdk 11 в Ubuntu, наступні команди працювали добре.

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt install openjdk-11-jdk

На Pi перша команда дає мені: aptsources.distro.NoDistroTemplateException: Помилка: не вдалося знайти шаблон розповсюдження для Raspbian / stretch
Микола Клімчук

Працював у мене наopenjdk-11-jdk-headless
WhyAyala

35

Для тих, хто працює на JDK в Ubuntu і хоче оновити до JDK11, я рекомендую встановити через sdkman . SDKMAN - це інструмент для перемикання JVM, видалення та оновлення.

SDKMAN - це інструмент для управління паралельними версіями декількох наборів для розробки програмного забезпечення в більшості систем на основі Unix. Він забезпечує зручний інтерфейс командного рядка (CLI) та API для встановлення, перемикання, видалення та включення в список кандидатів.

Встановіть SDKMAN

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

Встановіть Java (11.0.3-zulu)

$ sdk install java

1
Ого, щось навіть схоже на Anaconda для Java? Хто б міг подумати!
Джошуа

помилка: "Завантажений zip-архів пошкоджений. Ви підключені до Інтернету?"
masterxilo

@masterxilo, будь ласка, чи можете ви детальніше розповісти про свою помилку, напевно вам знадобиться Інтернет для завантаження інструменту SDKMAN. Я лише намагався встановити інструмент SDKMAN на платформі UNIX? Ви пробуєте його на платформі Windows?
Камаль

10

sudo apt-get встановити openjdk-11-jdk

після цього спробуйте

java -версія

щоб переконатися, що версія Java 1.11.x, якщо вона знайдена старою чи іншою, перевірте команду нижче, щоб побачити доступні jdks,

sudo update-java-alternatives --list

ви повинні побачити щось подібне нижче,

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

ви можете побачити java 1.11, доступний у верхньому списку, використовуйте команду нижче, щоб встановити java 11 за замовчуванням,

sudo update-alternative --config java

для наведеної вище команди ви отримаєте щось на кшталт нижче, а також попросите опцію встановити,

Існує 3 варіанти альтернативного Java (надання / usr / bin / java).

Статус пріоритету шляху вибору


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111 автоматичний режим

1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / java 1111 ручний режим

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081 ручний режим

3 /usr/lib/jvm/jdk1.8.0_211/bin/java 0 ручний режим

Натисніть, щоб зберегти поточний вибір [*], або номер вибору типу:

Ви можете вибрати бажаний номер вибору, у моєму випадку це 0

для javac,

sudo update-alternative --config javac

отримає щось подібне нижче,

Існує 3 варіанти альтернативного javac (надання / usr / bin / javac).

Статус пріоритету шляху вибору


0 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111 автоматичний режим

1 / usr / lib / jvm / java-11-openjdk-amd64 / bin / javac 1111 ручний режим

* 2 / usr / lib / jvm / java-8-openjdk-amd64 / bin / javac 1081 ручний режим
3 /usr/lib/jvm/jdk1.8.0_211/bin/javac 0 ручний режим

Натисніть, щоб зберегти поточний вибір [*], або номер вибору типу:

у моєму випадку це знову 0

після вищевказаних кроків спробуйте

java -версія

він відобразить щось подібне нижче,

версія openjdk "11.0.4" 2019-07-16

Середовище виконання OpenJDK (збірка 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3)

64-бітна серверна віртуальна машина OpenJDK (збірка 11.0.4 + 11-пост-Ubuntu-1ubuntu218.04.3, змішаний> режим, спільний доступ)


8

В Ubuntu ви можете просто встановити Open JDK, дотримуючись команд.

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

Ви можете перевірити версію Java, виконавши команду.

java -version

Якщо ви хочете встановити Oracle JDK 8, дотримуйтесь наведених нижче команд.

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

Якщо ви хочете змінити версії Java, ви можете спробувати методи нижче.

vi ~/.bashrcі додайте наступний рядок export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(папка path / jdk)

або

sudo vi /etc/profile і додайте наступні рядки

#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

Ви можете прокоментувати іншу версію. Для цього потрібно вийти та ввійти знову, щоб використовувати. Якщо ви хочете спробувати це на ходу, ви можете ввести команду нижче в тому ж терміналі. Він оновить лише версію Java для певного терміналу.

source /etc/profile

Ви завжди можете перевірити версію Java за java -versionкомандою.


2

Я прийшов сюди, шукаючи відповіді, і оскільки ніхто не ставив команду для оракула Java 11, а лише openjava 11, я зрозумів, як це зробити в Ubuntu, синтаксис такий:

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

7
Oracle JVM (точка доступу) більше не є безкоштовною для виробничого використання. Тому я віддав би перевагу збіркам OpenJDK.
Дмитро Думанський

1
На жаль, я теж прив’язав це, і це не працює. Там написано E: Неможливо знайти пакет oracle-java11-installer
Nditah,

1

Я створив скрипт Bash, який в основному автоматизує ручну установку, описану у подібному питанні . Для цього потрібен tar.gzфайл, а також значення суми SHA256. Ви можете дізнатися більше інформації та завантажити сценарій зі сторінки мого проекту GitHub . Він надається за ліцензією MIT.


1

Спочатку перевірте default-jdkпакет, імовірно, він уже надає вам OpenJDK >= 11.
посилання: https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all§ion=all

Ubuntu 18.04 LTS +

Тож, починаючи з Ubuntu 18.04 LTS, це повинно бути нормально.

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

Примітка: не забудьте встановити JAVA_HOME

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

Ubuntu 16.04 LTS

Для Ubuntu 16.04 LTS , тільки openjdk-8-jdkзабезпечуються в офіційній РЕПО , так що ви повинні знайти його в PPA :

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

Примітка: не забудьте встановити JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
mvn -version
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.