Обновление альтернатив: проблема «альтернативного пути не существует» при обновлении JDK7


10

Я решил обновить мою JDK7 до последней версии отсюда .

Соответствующий архив x64 tag.gz для моей архитектуры был загружен и распакован /usr/lib/jvmкак обычно. Все предыдущие версии Java были установлены раньше. Но перед установкой новых альтернатив java, javacи javawsя удалил все существующие альтернативы , используя следующие команды:

sudo update-alternatives --remove-all java
sudo update-alternatives --remove-all javac
sudo update-alternatives --remove-all javaws

Теперь при попытке установить новые альтернативы я получаю следующее:

sudo update-alternatives --install /usr/lib/jvm/jdk1.7.0_13/bin/java java /usr/bin/java 1
update-alternatives: error: alternative path /usr/bin/java doesn't exist.

Конечно, /usr/bin/javaне существует, но /usr/binсуществует? Что с ним не так и как я могу это исправить?


1
Для обновления Oracle JDK7 используется Java -пакет webupd8.
BuZZ-dEE

Ответы:


8

Это моя эпическая ошибка! :)

Я перепутал аргументы update-alternatives. Правильная командная строка должна быть:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk/bin/java 1

Я отправил это как ответ, потому что это решило вопрос. Я не знаю точно, должен ли я удалить вопрос (как он сам решил за короткое время) или опубликовать ответ.
ezze

Опубликовать ответ, как правило, правильно. Хотя эта проблема настолько локализована, я не уверен, что кто-нибудь найдет ее полезной в будущем. Кто знает, я могу ошибаться. :)
Натан JB

В любом случае, в следующий раз, когда вы устанавливаете / обновляете Java, я настоятельно рекомендую использовать java ppa webup8 (другая ссылка) - это делает все НАСТОЛЬКО проще (только сначала убедитесь, что вы удалили текущую установку).
Натан Дж. Б.

2

Поскольку вы выполняете обновление с предыдущей версии Java, которую вы удалили вручную, вам придется выполнить следующую команду дважды. Вы получаете сообщение об ошибке в первый раз, и оно работает, когда вы выполняете его во второй раз.

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk/bin/java" 1

Источник: Easy Linux Project


Спасибо за ответ, но проблема в том, что я перепутал аргументы альтернатив обновления. Правильная команда работает с первой попытки.
ezze
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.