версия java по-прежнему отображается как 1.4 linux

java -version по-прежнему возвращает старую версию java. у меня ред хэт линукс

Я установил jdk 1.5 int eh follwing path и обновил профиль bask и сделал источник, но все же версия java показывает 1.4

JAVA_HOME=/usr/local/jdk/jdk1.5.0_10/bin/java PATH имеет /usr/local/jdk/jdk1.5.0_10/bin

но я все еще вижу java -версию даже из каталога bin /usr/local/jdk/jdk1.5.0_10/bin следующим образом

Java-версия

версия Java "1.4.2" gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-10.0.1) Copyright (C) Free Software Foundation, Inc., 2006 г. Это бесплатное программное обеспечение; см. источник условий копирования. НЕТ гарантии; даже не для КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ.


person user229432    schedule 29.01.2010    source источник
comment
JAVA_HOME обычно не используется JDK — это просто соглашение, иногда используемое другими приложениями. Он не будет использоваться исполняемым файлом java или операционной системой для замены переменной среды PATH.   -  person McDowell    schedule 30.01.2010


Ответы (5)


Вам необходимо использовать альтернативную систему для обновления символических ссылок на правильную версию Java — см. http://kbase.redhat.com/faq/docs/DOC-5593.

Установить с помощью:

/usr/sbin/alternatives --install /usr/bin/java java /opt/jre1.6???/bin/java 2

Настроить с помощью:

/usr/sbin/alternatives --config java
person Community    schedule 29.01.2010
comment
$ /usr/sbin/alternatives --display java java — статус автоматический. ссылка в настоящее время указывает на /usr/lib/jvm/jre-1.4.2-gcj/bin/java /usr/lib/jvm/jre-1.4.2-gcj/bin/java - приоритет 1420 ведомого jre: /usr/lib /jvm/jre-1.4.2-gcj подчиненный jre_exports: /usr/lib/jvm-exports/jre-1.4.2-gcj подчиненный rmiregistry: /usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry Текущая «лучшая» версия — /usr/lib/jvm/jre-1.4.2-gcj/bin/java. - person user229432; 30.01.2010
comment
эта команда не работает /usr/sbin/alternatives --install /usr/bin/java java /opt/jre1.6???/bin/java 2 - person user229432; 30.01.2010
comment
простите,???? метки предназначены для заполнения в зависимости от вашего пути к версии JRE, которую вы устанавливаете — она может даже не быть выбрана — в Fedora мой находится в /usr/java/jdk1.6.0_17/bin/java и т. д. - person ; 30.01.2010

но я все еще вижу java -версию даже из каталога bin /usr/local/jdk/jdk1.5.0_10/bin следующим образом

Магия: запустить ./java -версия

Обратите внимание на точку и косую черту — это указывает на выполнение из текущего каталога. В отличие от DOS, в Linux текущий каталог по умолчанию не находится в пути поиска исполняемого файла.

И да, исправьте $PATH

person Yoni Roit    schedule 29.01.2010
comment
$ ./java -version версия java 1.5.0_06 Java(TM) 2 Runtime Environment, Standard Edition (сборка 1.5.0_06-b05) Java HotSpot(TM) Server VM (сборка 1.5.0_06-b05, смешанный режим) - person user229432; 30.01.2010
comment
что нужно исправить в $PATH? Должен ли я переместить путь Java в начало пути? - person user229432; 30.01.2010
comment
ага, перенеси в начало - person Yoni Roit; 30.01.2010

Как правило, каждый дистрибутив имеет собственный механизм выбора используемой версии Java. Также этот механизм обычно позволяет настроить Java по-разному для каждого пользователя.

Ubuntu - sudo update-alternatives --config java

Debian

Gentoo — использует java-config

Ядро Fedora использует альтернативы --config java

person Steve g    schedule 29.01.2010

О, да.

sudo update-alternatives --config java

Дисплеи:

Есть 2 варианта альтернативного java (предоставление /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk/jre/bin/java   1051      manual mode

Затем вы можете выбрать свою версию. В моем случае Java-7 (вариант 2)

person Rob    schedule 22.05.2012

Попробуйте ввести команду «what java», чтобы узнать, какая именно версия команды java выполняется. Если вы только что добавили новый путь в конец PATH, то оболочка по-прежнему будет использовать старый, потому что сначала найдет его.

person TMN    schedule 29.01.2010