У меня такое чувство, что я что-то напортачил, я новый пользователь Linux, поэтому я пытался установить Java…
Итак, в основном команда, которую я запускаю в терминале, следующая:
java -version
Ошибка, которую я get
-bash: /usr/local/java/jdk-16/bin/java: cannot execute binary file: Exec format error
Я в основном следовал этому руководству и, возможно, знаю, в чем проблема, но теперь я не могу узнать, какое именно руководство я использовал, потому что после того, как я все сделал, оно не сработало, поэтому я попробовал другой. .. И я не могу вспомнить точный путь, по которому я создавал эти изменения (в каком каталоге). Я просто знаю, что зашел в / exec / и там были некоторые другие файлы, в которые я внес изменения с помощью nano, я помню, что я добавил что-то вроде $ JAVA_HOME = ....
, а затем еще что-то.
Если кто-то может помочь, буду благодарен
На самом деле я решил эту проблему, выполнив следующие действия:
sudo update-alternatives --config java
Эта команда показывает каждую установку Java вместе с ее путем установки:
Output:
There are 4 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-16-oracle/bin/java 1091 manual mode
* 3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
4 /usr/local/java/jdk-16/bin/java 1 manual mode
Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-16-oracle/bin/java to provide /usr/bin/java (java) in manual mode
Я выбрал вторую и скопировал путь к Затем он сделал следующее:
sudo nano /etc/environment
и внутри этого файла добавил следующее:
JAVA_HOME="/usr/lib/jvm/java-16-oracle/bin/java "
Я перезагрузил файл, чтобы применить предыдущие команды:
source /etc/environment
и после запуска java -версии
все было в порядке.