.png)
У меня проблемы с обновлением Java. Я использую Ubuntu 11.10.
Я могу выполнить sudo apt-get install openjdk-7-jdk
и он успешно завершается. javac -version
1.7, однако java -version
1.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.