
Я выполнил все инструкции, указанные в этомвопрос, но у меня возникли некоторые проблемы с последней его частью.
На самом деле у меня версия Java 6.22, и я хотел бы обновить ее до версии 6.30.
Итак, после перемещения извлеченного каталога java-6-oracle
в /usr/lib/jvm
я не знаю, что делать, поскольку скрипт, указанный в ответе выше, обновляет Java 5 до Java 6.
Для ясности вот вывод, если я сделаю ls
in 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.
Главный вопрос:
включает в себя эту информацию - поскольку структура ваших папок немного отличается, ваша команда ссылки должна быть следующей:
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.