Как исправить ошибку «/bin/bash: jar: command not found» при ручной установке Java JDK 8?

Из-за зависимости от другого программного обеспечения, которое я собираюсь создать, мне пришлось установить Java JDK 8 вручную, я использовал следующее руководство: https://www.vultr.com/docs/how-to-manually-install-java-8-on-ubuntu-16-04

Но когда я попытался собрать программное обеспечение, произошла следующая ошибка:

/bin/bash: jar: command not found

Я установил PATH в .bashrc и .profile, а также установил среду в /etc/environment, но проблема все еще сохраняется.

в конце .bashrc и .profile я добавил следующие строки:

PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk1.8.0_211/bin:/usr/lib/jvm/jdk1.8.0_211/db/bin:/usr/lib/jvm/jdk1.8.0_211/jre/bin"
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211
JRE=/usr/lib/jvm/jdk1.8.0_211/jre

Я ожидаю, что расположение пути правильное, и программное обеспечение должно собраться, но вместо этого это не удалось. Пожалуйста, помогите мне решить эту проблему.

Заранее спасибо.

Обновлено: Нашел решение моей проблемы, просто нужно запустить следующие команды на терминале:

sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_211/bin/jar 180

Вы повторно вошли в систему (или запустили source .bashrc), чтобы ваш текущий PATH имел это значение? Существует ли файл jar внутри /usr/lib/jvm/jdk1.8.0_211/bin?

vlumi 12.06.2019 14:49

Да, я запускаю source ~/.bashrc и source ~/.profile, также перезапускаю систему. И да, банка существует внутри /usr/lib/jvm/jdk1.8.0_211/bin.

nugie 12.06.2019 14:54

Он также выполняется нормально, если вы укажете полный путь, то есть /usr/lib/jvm/jdk1.8.0_211/bin/jar?

vlumi 12.06.2019 15:04

это тоже не работает. Я также пытался запустить export PATH = "$PATH:$JAVA_HOME/bin" в терминале, но это тоже не удалось.

nugie 12.06.2019 15:17

Он должен работать с полным путем, независимо от PATH, так что это что-то другое. Права доступа в порядке, включая исполняемый бит?

vlumi 12.06.2019 15:19

Я запускаю ls -l jar, результат: -rwxr-xr-x, это правильно?

nugie 12.06.2019 15:24

Кажется правильным. Итак, какую ошибку вы получите, если запустите /usr/lib/jvm/jdk1.8.0_211/bin/jar или просто ./jar в этом каталоге?

vlumi 12.06.2019 15:34

Какую именно команду вы используете?

TheFiddlerWins 12.06.2019 15:56

При прямом запуске jar ошибки нет.

nugie 12.06.2019 16:04

@TheFiddlerWins Я попытался собрать так называемый контроллер ONOS SDN, используя следующую команду: bazel build onos

nugie 12.06.2019 16:05
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
10
4 008
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решение моей проблемы заключается в вводе следующей команды в терминале:

sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_211/bin/jar 180

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