Версия Java моей системы - 1.6, для запуска Eclipse мне нужна jre 1.7. Я уже скачал и распаковал архив java 1.7, но я не могу изменить путь по умолчанию с /usr/bin/java на путь к моей распакованной папке

в основном я использую cshrc поэтому я внес эти изменения в файл .cshrc.user

set PATH = "$PATH":/path/to/java/jre1.7.0_67/bin

после получения файла .cshrc.user java -version прежнему показывает 1.6, что означает, что ничего не изменилось, как я могу изменить путь по умолчанию для JAVA?

2 ответа2

0

$PATH анализируется от начала до конца, пока не будет найдено совпадение. Так, например, если ваш $PATH :

/usr/bin:/path/to/jre6:/path/to/jre7

и вы выполняете java -jar something.jar , оболочка сначала будет искать исполняемый файл java в /usr/bin . Он не найдет его там, поэтому будет выглядеть в /path/to/jre6 . Он найдет исполняемый файл java в этом каталоге, поэтому он прекратит дальнейший поиск и будет использовать этот исполняемый файл Java.

Вы должны добавить путь Java 7 перед путем к Java 6, чтобы использовать его.

Однако изменение $PATH - неправильный способ переключения между версиями Java. Вы должны скорее использовать update-alternatives .

  1. Запустите sudo update-alternatives --config java для просмотра списка доступных версий Java и переключения между ними. Ваша недавно установленная версия еще не будет доступна.

  2. Запустите sudo update-alternatives --install /usr/bin/java java /path/to/jre7/java 100 чтобы зарегистрировать Java JRE7.

  3. Запустите sudo update-alternatives --config java еще раз и выберите Java JRE7.

0

Вероятно, у вас есть Java 1.6 ранее на вашем пути.

env | grep PATH

должен подтвердить это.

ОТ ПУТИ И КЛАССПАТА

Для оболочки C (csh) отредактируйте файл запуска ~/.cshrc:

set path=(/usr/local/jdk1.7.0/bin $path)

Для bash отредактируйте файл запуска ~/.bashrc:

PATH=/usr/local/jdk1.7.0/bin:$PATH
export PATH

Обратите внимание, что в обоих случаях новый JDK добавляется перед существующим путем. Когда вы редактируете вышеуказанные файлы, вы должны удалить все ссылки на JDK 1.6.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .