Я столкнулся с этим, потому что я работаю с инструкцией по программированию для Android, которая хочет использовать определенные Java SE и JRE (8u121) и просит удалить все другие java-пакеты перед продолжением установки. Итак, после прочтения вышеупомянутых идей я пошел с:
sudo apt-get remove openjdk*
и результат был:
bryan@kali:~$ java -version
bash: /usr/bin/java: No such file or directory
Таким образом, вышесказанное говорит о том, что ни одна из версий Java не найдена. Какой ОП хотел сделать (я думаю).
В случае, если кто-то найдет этот поток, потому что он удаляет Java, чтобы установить старую версию, я включил пошаговое руководство, которое нашел. Первые два кода помогут вам установить его, если у вас нет графического интерфейса. Если у вас есть тарбол, пропустите его. В последнем кодовом блоке есть некоторые части, которые вам нужно будет отредактировать, если вы не устанавливаете мою версию.
{начать копирование / вставку}
В случае, если вы пытаетесь установить Java JDK удаленно и не имеете абсолютно никакого доступа к графическому интерфейсу пользователя и веб-браузеру, используйте следующий метод curl для загрузки Java JDK с помощью командной строки.
Во-первых, получите правильный URL-адрес для загрузки с помощью команды curl:
$ curl -s http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html | grep "otn-pub" | cut -d \" -f12
Приведенная выше команда выводит несколько URL для вашего выбора. Чтобы начать загрузку требуемого файла Java, скопируйте его URL-адрес и начните загрузку с помощью команды curl, принимая запрашиваемую лицензию Jave. Например:
$ curl -LOb "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
Установка Java JDK На этом этапе у нас должен быть соответствующий архив Java JDK в нашем текущем рабочем каталоге:
$ ls
jdk-8u121-linux-x64.tar.gz
Создайте целевой установочный каталог Java JDK:
# mkdir /opt/java-jdk
Извлеките ранее загруженный архив Java JDK:
# tar -C /opt/java-jdk -zxf jdk-8u121-linux-x64.tar.gz
Установить Oracle Java по умолчанию В настоящее время система не распознает нашу установку Java JDK:
$ update-alternatives --list java
update-alternatives: error: no alternatives for java
$ java
bash: java: command not found
Используйте команду update-alternatives для включения обоих, java и javac, как части среды Java системы.Пожалуйста, замените приведенный ниже путь к двоичным файлам Java, если это необходимо, чтобы отразить загруженную версию Java:
# update-alternatives --install /usr/bin/java java /opt/java-jdk/jdk1.8.0_121/bin/java 1
update-alternatives: using /opt/java-jdk/jdk1.8.0_121/bin/java to provide /usr/bin/java (java) in auto mode
# update-alternatives --install /usr/bin/javac javac /opt/java-jdk/jdk1.8.0_121/bin/javac 1
update-alternatives: using /opt/java-jdk/jdk1.8.0_121/bin/javac to provide /usr/bin/javac (javac) in auto mode
{конец копирования / вставки}
Итак, после того, как я последовал, я хотел подтвердить, что это работает ...
bryan@kali:~/Desktop$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Это оно! Это то, что мы хотим.
Затем я начал беспокоиться, что «подходящее обновление» может просто отменить то, что я сделал, обновив пакет (не уверен). Поэтому я отложил их. Для удаления удержания: apt-mark unhold.
bryan@kali:~/Desktop$ sudo apt-mark hold openjdk-8*
openjdk-8-jre set on hold.
openjdk-8-jre-headless set on hold.
openjdk-8-doc set on hold.
openjdk-8-jdk set on hold.
openjdk-8-dbg set on hold.
openjdk-8-demo set on hold.
openjdk-8-jdk-headless set on hold.
openjdk-8-source set on hold.
openjdk-8-jre-dcevm set on hold.
openjdk-8-jre-zero set on hold.