Невозможно изменить альтернативные версии Java в Linux

Я уже прочитал много похожих постов в Интернете, но, похоже, не могу прийти к решению. Я хочу иметь возможность переключаться между версиями Java. Заранее спасибо! ОС: Ubuntu 16.04.6 LTS x86_64

Я уже вручную установил и установил альтернативы обновления java и javac

sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                        Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-12-oracle/bin/java         1091      auto mode
* 1            /usr/lib/jvm/java-12-oracle/bin/java         1091      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/bin/java   0         manual mode


    sudo update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-12-oracle/bin/javac         1091      auto mode
* 1            /usr/lib/jvm/java-12-oracle/bin/javac         1091      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/bin/javac   0         manual mode

echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64

PATH показывает / usr / lib / jvm / java-8-openjdk- amd64 / bin и / usr / lib / jvm / java-12-oracle / bin

echo $PATH
/home/myname/Repositories/build/depot_tools:/home/myname/bin:/home/myname/.local/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/cuda/bin:/snap/bin:/usr/lib/jvm/java-12-oracle/bin:/usr/lib/jvm/java-12-oracle/db/bin

Кроме того, я не могу изменить JAVA_HOME. Я не знаю, где он установлен. У меня нигде не установлено JAVA_HOME, я проверил / etc / environment, ~ / .bashrc и ~ / .profile

Окей Обновление, относительно JAVA_HOME. Я узнал, где он был установлен (и т.д. / профиль), и я сбросил его и получил. Не уверен, как он там оказался, может быть, программа сделала это.

Я хочу и ожидаю, чтобы переключаться между версиями Java и иметь возможность компилировать и выполнять программы Java.

Пример, когда я запускаю более позднюю версию Java-программы из терминала.

Исключение в потоке "main" java.lang.UnsupportedClassVersionError: Программа была скомпилирована более поздней версией Java Runtime (версия файла класса 54.0), эта версия Java Runtime распознает только версии файла класса до 52.0

Наконец, для update-java-alternatives --list у меня есть:

update-java-alternatives --list
java-12-oracle                 1091       /usr/lib/jvm/java-12-oracle
java-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

Также, если я попытаюсь установить его:

sudo update-java-alternatives -s java-12-oracle
update-alternatives: error: no alternatives for jaccessinspector
update-alternatives: error: no alternatives for jaccesswalker
update-alternatives: error: no alternatives for kinit
update-alternatives: error: no alternatives for klist
update-alternatives: error: no alternatives for ktab
update-alternatives: error: no alternatives for mozilla-javaplugin.so
update-java-alternatives: jdk alternative does not exist: /usr/lib/jvm/java-12-oracle/bin/jaccessinspector
update-java-alternatives: jdk alternative does not exist: /usr/lib/jvm/java-12-oracle/bin/jaccesswalker
update-java-alternatives: jdk alternative does not exist: /usr/lib/jvm/java-12-oracle/bin/kinit
update-java-alternatives: jdk alternative does not exist: /usr/lib/jvm/java-12-oracle/bin/klist
update-java-alternatives: jdk alternative does not exist: /usr/lib/jvm/java-12-oracle/bin/ktab
0
задан 23 July 2019 в 19:31

0 ответов

Другие вопросы по тегам:

Похожие вопросы: