Как установить JDK 11 под Ubuntu?

96

Итак, 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, но не сейчас)

9ilsdx 9rvj 0lo
источник
1
Это сборка Oracle или от acceptOpenJDK?
Дмитрий Думанский
1
На самом деле я думаю, что это Oracle OpenJDK. Я думаю, что Debian / Ubuntu просто скачает tarball из выпуска Oracle OpenJDK, добавит несколько патчей и соберет их пакеты.
andresp
9
Если вы не используете Java в какой-либо среде графического интерфейса, вы можете предпочесть установку openjdk-11-jdk-headless. Или, если все, что вам нужно, это запустить что-то, а не компилировать, это openjdk-11-jre[-headless]тоже может вам подойти.
Piohen
10
Мне пришлось sudo add-apt-repository ppa:openjdk-r/ppaсначала запустить, чтобы добавить репозиторий.
Древесная акула
2
Тоже самое. Также sudo apt-get updateобновить репозиторий. Потом sudo apt-get install openjdk-11-jdkсработало.
Майкл
52

Чтобы установить 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 -version

чтобы убедиться, что версия 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-alternatives --config java

для приведенной выше команды вы получите что-то вроде ниже, а также запросите параметр для установки,

Для альтернативной java есть 3 варианта (предоставление / 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-alternatives --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 -version

он будет отображать что-то вроде ниже,

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

Среда выполнения OpenJDK (сборка 11.0.4 + 11-post-Ubuntu-1ubuntu218.04.3)

64-разрядная серверная виртуальная машина OpenJDK (сборка 11.0.4 + 11-post-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(путь / папка 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

Я пришел сюда в поисках ответа, и поскольку никто не вводил команду для oracle Java 11, а только openjava 11, я понял, как это сделать в Ubuntu, синтаксис следующий:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java11-installer
П. Лев
источник
7
Oracle JVM (Hotspot) больше не бесплатна для производственного использования. Поэтому я бы предпочел сборки 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 LTSopenjdk-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
Mizux
источник