Как установить Java на Arch Linux

Согласно https://wiki.archlinux.org/index.php/Java, я могу установите Open JDK 7 на чистую установку Arch Linux, вызвав команду

pacman -S jdk7-openjdk

Но при этом я получаю сообщение об ошибке

error: target not found: jdk7-openjdk

Я уже закомментировал свой ближайший репозиторий Pacman в /etc/pacman.d/mirrorlist и запустил первое обновление, вызвав pacman -Syu, надеясь, что это приведет к обнаружению вышеуказанного пакета.

Как установить Open JDK 7 в Arch Linux с помощью pacman?

Редактировать: я использую Raspberry Pi с процессором ARM, и я надеюсь получить сборку Java, адаптированную для его оборудования и использующую аппаратную поддержку ОС с плавающей запятой.


person Jeroen Kransen    schedule 18.11.2012    source источник
comment
Найдет ли pacman -Ss openjdk пакет, который вы ищете?   -  person Reactormonk    schedule 18.11.2012
comment
Он находит один, extra/openjdk6 6.b24_1.11.4-1. Я пробовал несколько комбинаций, но pacman -S openjdk6 не был одной из них. Это старая версия, и, похоже, она дает мне только JRE вместо полного JDK.   -  person Jeroen Kransen    schedule 18.11.2012
comment
какая java вам нужна, для запуска программного обеспечения или для разработки? jre или jdk?   -  person Kokizzu    schedule 20.03.2013


Ответы (8)


Получите лучшее зеркало рядом с вами (проверьте этот список); вы даже можете создать новый список зеркал на веб-сайте archlinux. Затем запустите # pacman -Syy; # pacman -Su; # pacman -S jdk8-openjdk (или jre8-openjdk, если вам нужна только JRE)

person Andrea Scarpino    schedule 07.01.2013
comment
+1, это (почти) то, как я бы это сделал. Одно замечание: НЕ делайте pacman -Syy, используйте pacman -Syu. Частичные обновления не поддерживаются. - person PlasmaPower; 16.04.2014
comment
Правильный. Вы всегда должны выполнять обновление после -Sy (или -Syy). - person Andrea Scarpino; 01.04.2015
comment
Вы можете сжать все это в # pacman -Syyu jdk8-opoenjdk - person PlasmaPower; 06.04.2015

Попробуйте следующую команду:

pacman -S jre7-openjdk
person Qinsi    schedule 06.01.2013

OpenJDK зависит от нескольких пакетов Arch Linux, поэтому просто установить Oracle JDK было недостаточно.

Сначала пришлось удалить icedtea-web

sudo pacman -R icedtea-web

Затем соберите пакет Oracle JRE AUR,

Перед установкой OracleJRE мне пришлось вручную удалить openjdk6 и игнорировать зависимости:

[argy@Freak jre]$ sudo pacman -Rdd openjdk6

Установить OracleJRE

sudo pacman -U jre-7u2-1-i686.pkg.tar.xz

Соберите и установите пакет JDK AUR:

sudo pacman -U jdk-7u2-1-i686.pkg.tar.xz

Выйдите из системы и войдите в систему, чтобы обновить PATH и установить Java.

person Bhavik Ambani    schedule 18.11.2012
comment
Пожалуйста, не советуйте пользователям сразу устанавливать неофициальные пакеты, пока часть программного обеспечения, которое ищет OP, доступна в официальном репозитории. ОП, возможно, должен сначала просто обновить списки пакетов pacman -Sy. Ответ от ilpianista правильный. - person galaux; 02.03.2016

Просто беглое наблюдение:

Когда вы меняете свой репозиторий, рекомендуется обновить его с помощью pacman -Syyu, так как это обновит все пакеты.

person Hantabaru    schedule 06.12.2012

Попробуй это:

pacman -S java7-openjdk
person znurgl    schedule 18.11.2012
comment
Это выглядело обнадеживающе, но очень плохо: Target not found :-( - person Jeroen Kransen; 18.11.2012
comment
На самом деле это должно быть pacman -S jdk7-openjdk. Теперь вы можете заменить 7 на 8 или 9. - person Qian Chen; 24.11.2017

РБ на базе armv6l. проверив здесь, вы увидите, что существует неупакованная версия openjdk для armv6l.

а вот что показывает моя арка на raspi

   [root@raspi ~]# pacman -Ss openjdk
    extra/openjdk6 6.b24_1.11.4-1
    Free Java environment based on OpenJDK 6.0 with IcedTea6 replacing binary plugs.
   [root@raspi ~]#
person NauT    schedule 13.12.2012

Из-за текущей процедуры загрузки и установки Oracle JDK вы не сможете легко сделать это в среде Linux. Потому что многие ранее поддерживаемые пакеты JDK теперь не работают. если вы хотите установить Oracle JDK-8 на свой компьютер arch-linux/manjaro, эта суть поможет вам.

Решение будет кратко, как показано ниже.

  1. Сначала необходимо клонировать соответствующий JDK git на свой компьютер.

    cd ~/Downloads && git clone https://aur.archlinux.org/jdk8.git

  2. Теперь у вас должна быть папка jdk8 в Downloads. Переместите этот .tar.gz, который вы загрузили из оракула, в эту папку. Если он также находится в загрузках, и я правильно понял имя файла, команда будет такой.

    mv ~/Downloads/jdk-8u212-linux-x64.tar.gz ~/Downloads/jdk8/

  3. Теперь мы войдем в папку jdk8 и должны отредактировать файл PKGBUILD.

    cd jdk8 && nano PKGBUILD

  4. Исходная строка, которую мы хотим изменить, это.... "https://download.oracle.com/otn-pub/java/jdk/${pkgver}-${_build}/${_hash}/${_pkgname}-${pkgver}-linux-x64.tar.gz" на имя файла, которое у нас сейчас есть в папке, jdk-8u212-linux-x64.tar.gz

  5. Сохраните и выйдите из PKGBUILD. Теперь мы можем собрать и установить из этого каталога.

    makepkg -sric

  6. Если все прошло нормально, вы можете просто удалить этот каталог, когда закончите.

    cd ~ && rm -r ~/Downloads/jdk8

person Ravindu Sachintha    schedule 30.07.2019
comment
Пожалуйста, добавьте также некоторые пояснения, так как ссылки могут умереть в один прекрасный день. - person Prince Vegeta; 30.07.2019
comment
Спасибо за руководство и обновленный улучшенный ответ. - person Ravindu Sachintha; 02.08.2019

Или вы можете полностью пропустить pacman и получить полный контроль:

  • Загрузите tar.gz нужной версии JDK с https://adoptopenjdk.net/.

  • Развернуть архив: tar zxvf OpenJDKxxx.ta.gz

  • Переместите JDK в /opt: sudo mv jdk-xxx /opt

  • Обновите PATH:

export JAVA_HOME=/opt/jdk-xxx
export PATH=$PATH:$JAVA_HOME/bin
  • Тест: java -version

Таким образом, вы можете установить столько разных версий JDK, сколько захотите, и переключаться между ними, изменяя значение PATH.

person David Soroko    schedule 28.05.2020