Установка openjdk-7-jdk не обновляет Java (которая все еще имеет версию 1.6)

Установка openjdk-7-jdk не обновляет Java (которая все еще имеет версию 1.6)

У меня проблемы с обновлением Java. Я использую Ubuntu 11.10.

Я могу выполнить sudo apt-get install openjdk-7-jdkи он успешно завершается. javac -version1.7, однако java -version1.6. Это похоже наЭта проблемано, насколько я могу судить, моя проблема не в пути.

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Спасибо.

решение1

Обновлять:

Нашел сайт, на котором есть довольно хорошее объяснение:СВЯЗЬ


По ссылке:

Затем нам нужно сделать некоторую настройку.
В Debian есть скрипт для поддержки различных версий программ, например, javaназываемый update-alternatives.

обновление-альтернатив --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0/bin/java 1065
обновление-альтернатив --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0/bin/javac 1065

Где 1065 — заданный приоритет.

Для проверки моей установки я использую –configпараметр,
update-alternatives --config java
который выводит следующее:
There are 2 choices for the alternative java (providing /usr/bin/java).

Выбор пути Приоритет Статус
------------------------------------------------------------
* 0 /usr/lib/jvm/jdk1.7.0/bin/java 1065 автоматический режим
  1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 ручной режим
  2 /usr/lib/jvm/jdk1.7.0/bin/java 1065 ручной режим

А поскольку 1065 больше, чем 1061, на моем компьютере по умолчанию будет использоваться свежеустановленная Java 7 java -version
:

версия Java "1.7.0"
 Среда выполнения Java(TM) SE (сборка 1.7.0-b147)
 Java HotSpot(TM) 64-битная серверная виртуальная машина (сборка 21.0-b17, смешанный режим)

Примечания: Это может сделать его более понятным.

SLES11 # какой java
/usr/bin/java

SLES11 # обновление-альтернатив --list java
/usr/lib64/jvm/jre-1.6.0-ibm/bin/java

SLES11 # обновление-альтернатив --display java
java - статус авто.
 ссылка в данный момент указывает на /usr/lib64/jvm/jre-1.6.0-ibm/bin/java
/usr/lib64/jvm/jre-1.6.0-ibm/bin/java - приоритет 1608
 подчиненный rmiregistry: /usr/lib64/jvm/jre-1.6.0-ibm/bin/rmiregistry
 подчиненный tnameserv: /usr/lib64/jvm/jre-1.6.0-ibm/bin/tnameserv
 подчиненный rmid: /usr/lib64/jvm/jre-1.6.0-ibm/bin/rmid
 подчиненный jre_exports: /usr/lib64/jvm-exports/jre-1.6.0-ibm
 подчиненный инструмент политики: /usr/lib64/jvm/jre-1.6.0-ibm/bin/policytool
 подчиненный keytool: /usr/lib64/jvm/jre-1.6.0-ibm/bin/keytool
 подчиненный jre: /usr/lib64/jvm/jre-1.6.0-ibm
Текущая «лучшая» версия — /usr/lib64/jvm/jre-1.6.0-ibm/bin/java.

На странице руководства указан путь, который update-alternatives использует для своего каталога.

SLES11 # пароль
/etc/альтернативы

SLES11 # ll
lrwxrwxrwx 1 root root 37 марта 19 06:03 java -> /usr/lib64/jvm/jre-1.6.0-ibm/bin/java
lrwxrwxrwx 1 root root 28 марта 19 06:03 jre -> /usr/lib64/jvm/jre-1.6.0-ibm
lrwxrwxrwx 1 корень корень 28 марта 19 06:03 jre_1.6.0 -> /usr/lib64/jvm/jre-1.6.0-ibm
lrwxrwxrwx 1 root root 36 марта 19 06:03 jre_1.6.0_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm
lrwxrwxrwx 1 root root 36 марта 19 06:03 jre_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm
lrwxrwxrwx 1 root root 28 марта 19 06:03 jre_ibm -> /usr/lib64/jvm/jre-1.6.0-ibm
lrwxrwxrwx 1 root root 36 марта 19 06:03 jre_ibm_exports -> /usr/lib64/jvm-exports/jre-1.6.0-ibm

Внесите изменения, если они у вас уже установлены и вам просто нужно изменить настройки по умолчанию.

SLES11 # обновление-альтернатив --config java

Есть только 1 программа, которая предоставляет Java
(/usr/lib64/jvm/jre-1.6.0-ibm/bin/java). Настраивать нечего.


Оригинальный ответ:

Если вы посмотрите /etc/javaчто-то в этом роде, /etc/java-7-openjdkвы должны увидеть файлы конфигурации.
java.confилиjvm.cfg

Обычно это (в зависимости) от файла конфигурации, устанавливающего ваши параметры. Вы можете установить несколько версий Java одновременно и изменить переменные запуска, чтобы определить, какая из них будет вашей JVM по умолчанию.

из CentOSjava.conf

# Если у вас установлен базовый пакет JRE
# (например, java-1.6.0-openjdk):
#JAVA_HOME=$JVM_ROOT/jre

# Если у вас установлен пакет devel JDK
# (например, java-1.6.0-openjdk-devel):
#JAVA_HOME=$JVM_ROOT/java

из Убунтуjvm.cfg

# Список JVM, которые можно использовать в качестве опции для java, javac и т. д.
# Порядок важен — первым в этом списке идет JVM по умолчанию.
# ОБРАТИТЕ ВНИМАНИЕ, что и этот файл, и его формат НЕ ПОДДЕРЖИВАЮТСЯ и
# БУДЕТ УДАЛЕНА в будущем выпуске.
#
# Вы также можете выбрать JVM в произвольном месте с помощью
# опция "-XXaltjvm=", но она тоже не поддерживается
# и может быть недоступен в будущем выпуске.
#
-сервер ИЗВЕСТЕН
-клиент ИГНОРИРУЙТЕ
-ОШИБКА точки доступа
-классический WARN
-родная ОШИБКА
-зеленый ОШИБКА
-jamvm ИЗВЕСТНО
-какао ИЗВЕСТНО
-ноль ИЗВЕСТНО
-акула ПСЕВДОНИМ_ТО -ноль

В Ubuntu есть программа под названием update-java-alternatives
Это первые несколько строк страницы руководства

ИМЯ
       update-java-alternatives - обновление альтернатив для установок jre/sdk

СИНОПСИС
       update-java-alternatives [--jre] [--plugin] [-t|--test|-v|--verbose]
             -l|--список []
             -с|--установить
             -a|--авто
             -h|-?|--помощь

ОПИСАНИЕ
       update-java-alternatives обновляет все альтернативы, принадлежащие к одной среде выполнения или комплекту разработки для языка Java. Пакет предоставляет эти
       информация об альтернативах в /usr/lib/jvm/..jinfo.
root@ubuntul:/# обновление-java-альтернатив -l  
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
-с|--установить
              Установите все альтернативы зарегистрированной установки jre/sdk на путь программы, предоставленный при установке.

Обычно я также вижу ссылки /etc/profile.dна среды запуска Java.

Я предполагаю, что ваши библиотеки Java были установлены в том же месте, а файлы конфигурации по умолчанию по-прежнему соответствуют исходной версии. Вам просто нужно указать новый путь JVM.

Связанный контент