У меня Ubuntu 12.04 amd64 установлен на моей машине, в предыдущих версиях Ubuntu это было смертельно легко, теперь есть эта команда update-java-alternatives
с действительно плохой страницей руководства .
Я просто распаковал свой JDK в смонтированном разделе, например /media/mydisk/jdk
, как я могу принудительно использовать этот JDK вместо того, который входит в репозиторий Ubuntu?
Какая логика стоит за этим update-java-alternatives
?
java
jdk
alternative
jre
user827992
источник
источник
Ответы:
В качестве графической альтернативы методу командной строки @ AnwarShah рассмотрите возможность использования Gnome Alternatives (
sudo apt-get install galternatives
):Запустите GAl альтернативы , выберите каждый параметр Java , измените его на ручной и добавьте свой вариант (пример здесь - IBM JRE, установленный в моем домашнем каталоге):
источник
Вы можете сделать это с
sudo update-alternatives
:Вы должны сделать это и для других компонентов JDK. Эти компоненты
appletviewer
,extcheck
,idlj
,jar
,jarsigner
,java
,javac
,javadoc
,javah
,javap
,javaws
,jconsole
,jdb
,jexec
,jhat
,jinfo
,jmap
,jps
,jrunscript
,jsadebugd
,jstack
,jstat
,jstatd
,keytool
,mozilla-javaplugin.so
,native2ascii
,orbd
,pack200
,policytool
,rmic
,rmid
,rmiregistry
,schemagen
,serialver
,servertool
,tnameserv
,unpack200
,wsgen
,wsimport
,xjc
.Для получения дополнительной информации вы можете увидеть страницы человека для
update-alternatives
:man update-alternatives
.Команда
update-java-alternatives
устанавливает альтернативы для компонентов Java, и, похоже,update-alternatives
для этого используется.РЕДАКТИРОВАТЬ: Ответ выше нацеливается на Java 6.
jcmd
в список Java 6.jcmd
,jjs
иjdeps
в список Java 6.jcmd
,jjs
,jdeps
иjshell
в списке Java 6.источник
Я на самом деле использую эти команды для установки
jdk1.6.0_25
. (Проверьте ссылку ниже для обновления полного сценария обновления альтернатив)И тогда вы можете использовать эти команды для установки по умолчанию. Скорее всего, они не нужны.
Вы можете получить дополнительную помощь с помощью команды
man update-alternatives
или вы можете увидеть руководство в вашем браузере здесьЦель,
update-java-alternatives
описанная на странице руководства,Все инструменты JDK
Надеюсь, что это поможет вам.
Обновить
Я использую этот скрипт для извлечения загруженного jdk и использую его
update-alternatives
для полной установки. Измените имя файла JDK иJAVA_DIR
в соответствии с вашими потребностями.JAVA_DIR
путь к вашей извлеченной папке jdk.источник
Вы также можете использовать этот скрипт:
источник
Слишком сложный большинство ответов для меня.
Первоначально Oracle решила иметь возможность установить несколько версий Java, основываясь на настройке некоторых переменных среды.
Это было легко, но слишком сложно для тех, кто не знал этих переменных, и кто-то изобрел "update-java-alternatives".
«update-java-alternatives» оказался простым, когда все настроено для вас, вам просто нужно выполнить эту программу и выбрать нужную версию.
Проблема в том, что это решение слишком сложно для настройки, если вам нужно настроить себя (вы должны настроить его для каждой команды java).
Лучший ответ - вернуться к основам .
установите в вашем
.bash_profile
(для вашего пользователя) или в/etc/profile
(для каждого пользователя) следующие переменные:В моем случае это было еще проще ... У меня уже был файл
/etc/profile.d
со следующим содержимым (просто обновил его до новой структуры каталогов):И это все!!!
источник
Это не так сложно, как другие ответы. Вы должны добавить установленный вручную java в список альтернатив, а затем переключиться на: (замените jdk1.7.0_79 на вашу версию)
источник
update-java-alternatives на самом деле довольно хорош. Итак, чтобы заставить его работать с моей ручной установкой: скопируйте jdk1.8.0_45 в / usr / lib / jvm
Тогда я использовал vim для поиска / замены:
Также уменьшить приоритет на 1
: sigh: update-java-alternatives не выполняет установку. Но, по крайней мере, у нас есть файл для работы
Затем я выбрал мою новую установку:
источник
Я поместил то, что @ air-dex и @Anwar сказали в сценарии. Я знаю, что @ test30 также написал сценарий, но он был слишком сложен для меня (начинающего сценариста), чтобы понять. Я просто подумал, что опубликую это здесь, на случай, если кто-нибудь найдет это полезным.
источник
Чтобы настроить полную альтернативу jdk, можно использовать следующую команду:
Я использовал это после того, как извлек файл tar.gz для sun jdk1.7 в / usr / lib / jvm /
Вы хотели бы заменить jdk1.7.0 на имя каталога вашей версии и номер 2 на любой номер, которым вы хотите альтернативу.
источник
Я использую что-то вроде следующего, чтобы загрузить и установить последнюю версию Java 8:
источник
# Я написал простой скрипт
источник
Сделал другой немного другой скрипт, чтобы по умолчанию все вещи, связанные с Java, устанавливались вручную в JDK:
Это устанавливает новые альтернативы и устанавливает эти новые альтернативы по умолчанию.
источник
Я очистил все о JAVA 9 и установил новую свежую Java 10 вручную.
Примечание : вам нужно
update-alternatives
только если у вас есть несколько версий Java.Примечание . Вы можете очистить все, что касается Java, перед новой установкой новой Java.
Для Java 10 свежая установка
Извлеките и положите куда-нибудь в
/opt/java
каталог. Если вы поместите JDK вopt/java
каталог, он станет доступным для всех пользователей.( Примечание : я скачал JDK, JRE и сервер JRE, извлек JDK и переименовал, извлек папку в jdk10, извлек JRE и переименовал, извлек папку в jre10, и извлек JRE сервера и переименовал, извлек папку в jre10server, как показано на снимке экрана ниже ).
Обновите файл / etc / environment, как показано ниже
Теперь вам нужно перезагрузить
/etc/environment
файл скрипта в систему, используя команду source, как показано ниже.Если вы хотите узнать больше об альтернативах обновления, то вот ссылка: Как мне сделать Java по умолчанию для JRE / JDK, установленного вручную?
источник
Некоторые из ссылок, связанных с Java, находятся на уровне мастера и не могут использоваться в качестве ведомых в альтернативах обновления --install. Используйте следующие команды для установки oracle jdk и обновления альтернатив. Надеюсь, это поможет.
PS: должен выполняться как root / sudo.
источник