Как установить версию Java по умолчанию?

88

Я выполнил все инструкции, изложенные в этом вопросе , но я сталкиваюсь с некоторыми проблемами с последней его частью.

На самом деле у меня есть версия 6.22 java и я хочу обновить ее до версии 6.30.

Итак, переместив извлеченный каталог java-6-oracle в /usr/lib/jvm , я не знаю, что делать, поскольку сценарий, указанный в ответе выше, обновляется с java 5 на java 6.

Для ясности здесь выводится, если я делаю ls в каталоге /usr/lib/jvm :

[email protected]:/usr/lib/jvm$ ls -l

total 8

lrwxrwxrwx 1 root root 14 2011-07-12 15:18 default-java -> java-6-openjdk

lrwxrwxrwx 1 root root 14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk

drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle

drwxr-xr-x 7 root root 4096 2012-02-24 14:43 java-6-openjdk

Что мне теперь делать?

ДОБАВЛЕННАЯ ЧАСТЬ

По предложению @fossfreedom я все равно запускал скрипт и фактически обновлял версию java.

Infact, если я запустил команду java -version outpu, будет следующее:

[email protected]:~$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

Существует проблема , если Irun javac -version дает мне старую версию:

[email protected]:~$ javac -version
javac 1.6.0_22

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

Java Version 1.6.0_22 from Sun Microsystems Inc.

Что не так?

Кажется, что Java Runtime Environment обновлена, но Java Compiler и Java-плагин для браузера не имеют.

Как я могу их обновить?

ПРОЧАЯ ДОБАВЛЕННАЯ ЧАСТЬ

sudo update-alternatives --config java вернет следующий результат

[email protected]:~$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

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

Press enter to keep the current choice[*], or type selection number:

это имеет смысл с тем, что JRE правильно обновляется до версии 6.31, проблемы находятся на Java Compiler и плагине браузера Java.

Любые идеи?

    
задан Matteo 13.04.2012 в 12:46
источник

5 ответов

84

Повторите свой первый вопрос:

возможно, вы можете ввести в заблуждение, что сценарий webupd8 равен 0.5b. Это версия скрипта - он не ссылается на версию java.

В дополнение к настройке версии javac.

Я подозреваю, что вам нужно явно указать путь компилятора javac

то есть.

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1

, а затем:

sudo update-alternatives --config javac

Что касается настройки плагина java chrome.

Главный вопрос:

Как установить Oracle JDK 6?

включает эту информацию - так как ваша структура папок немного отличается, ваша команда связи должна быть:

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/
    
ответ дан fossfreedom 13.04.2012 в 14:37
источник
34

См. это ; запустить

sudo  update-java-alternatives --list

, чтобы перечислить все установки Java на машине по имени и каталогу, а затем запустите

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

, чтобы выбрать, какой JRE / JDK использовать.

Если вы хотите использовать разные JDK / JRE для каждой задачи Java, вы можете запускать альтернативы обновлений для настройки одного исполняемого файла Java за раз; вы можете запустить

sudo  update-alternatives --config java[Tab]

, чтобы увидеть команды Java, которые можно настроить (java, javac, javah, javaws и т. д.). И затем

sudo  update-alternatives --config [javac|java|javadoc|etc.]

свяжет эту задачу / команду Java с конкретным JDK / JRE.

Вам также может потребоваться установить JAVA_HOME для некоторых приложений: от этого ответа вы можете использовать

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

для JRE или

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

для JDK.

    
ответ дан WillC 10.02.2016 в 02:43
24

Я думаю, вам стоит взглянуть на команду update-java-alternatives из пакета java-common и *.jinfo файлов, используемых им. С этим вы должны полностью переключаться между установками java (независимо от JDK, JRE, ...).

    
ответ дан Johannes Wachter 13.04.2012 в 16:08
4

На ubuntu / linux вы можете переключить версию Java с помощью

update-alternatives --config java

Но прежде, вам нужно установить версию.

Вы можете использовать этот скрипт (./install-java.sh) для установки нескольких JVM

#!/bin/sh
(
lookforJdks=$PWD
echo "Directory: $lookforJdks"
jdks='test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null'
#set -e
echo 'which jdk do you want to choose? looking for jdks. This might take a while'
echo "$jdks" | awk '{printf("%5d : %s\n", NR,$0)}'
read choose
test -e ./javac || cd 'echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose'/bin
for e in appletviewer extcheck idlj jar jarsigner java javac javadoc javah javap jconsole \
 jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic \
 schemagen serialver wsgen wsimport xjc jvisualvm jmc; do sudo update-alternatives \
 --install /usr/bin/$e $e $(readlink -f ./$e) 100; done
)

echo "RUN update-alternatives --config java"

Поместите этот скрипт в папку, где распаковали JVM (ы), и запустите:

/opt/install-java.sh

Следующее использование:

update-alternatives --config java
    
ответ дан Ricardo Jl Rufino 24.10.2016 в 04:59
1

Если вы собираетесь использовать вручную альтернативы javac javaws javadoc или любые другие связанные с Java команды, вы можете захотеть сделать их подчиненными java altenative.

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"


update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links


:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

java - автоматический режим   Лучшая версия ссылки - /opt/jdk1.8.0_74/bin/java   ссылка в настоящее время указывает на /opt/jdk1.8.0_74/bin/java   link java is / usr / bin / java   slave javadoc - / usr / bin / javadoc /opt/jdk1.8.0_74/bin/java - приоритет 0   slave javadoc: /opt/jdk1.8.0_74/bin/javadoc

Измените /opt/jdk1.8.0_74/ с каталогом, где установлен ваш jdk.

    
ответ дан Thiago 01.02.2017 в 14:01