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

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

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

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

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

Для ясности вот вывод, если я сделаю lsin dir /usr/lib/jvm:

$ ls -l /usr/lib/jvm
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.

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

$ 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он выдает мне установленную старую версию:

$ 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вернет следующий вывод

$ 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 и плагином Java для браузера.

Есть идеи?

решение1

По поводу вашего первого вопроса:

возможно, вы путаете, что скрипт 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/

решение2

Видетьэтот; бегать

sudo  update-java-alternatives --list

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

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

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

Если вы хотите использовать разные JDK/JRE для каждой задачи Java, вы можете запустить update-alternatives, чтобы настроить один исполняемый файл 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.

решение3

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

решение4

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

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 ссылка java - /usr/bin/java подчиненный javadoc - /usr/bin/javadoc /opt/jdk1.8.0_74/bin/java - приоритет 0 подчиненный javadoc: /opt/jdk1.8.0_74/bin/javadoc

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

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