Как установить Java Oracle в качестве Java по умолчанию в Ubuntu?
как изменить значение JAVA_HOME
в Ubuntu, чтобы указать на Java Oracle?
должен ли он указывать на java-6-sun
или java-6-sun-1.6.0.24
?
8 ответов:
я поставил строку:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
в своем .
/usr/lib/jvm/java7-oracle
должна быть символическая ссылка, указывающая на/usr/lib/jvm/java-7-oracle-[version number here]
.причина, по которой это символическая ссылка, заключается в том, что в случае появления новой версии JVM вам не нужно обновлять свой
.bashrc
файл, он должен автоматически указывать на новую версию.если вы хотите установить переменные среды JAVA_HOME глобально и на системном уровне, использование средств должно быть установлено в / etc / environment файл. Дополнительные.
Если вы хотите изменить его глобально и на системном уровне;
на
/etc/environment
добавьте следующую строку:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
чтобы установить Java SE Development Kit Oracle в качестве системного Java по умолчанию, просто загрузите последний Java SE Development Kit из здесь затем создайте каталог, где вам нравится в вашей файловой системе, например
/usr/java
теперь извлеките файлы, которые вы только что загрузили в этот каталог:$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java
теперь, чтобы установить
JAVA_HOME
переменные среды:$ JAVA_HOME=/usr/java/jdk1.8.0_05/ $ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000 $ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
убедитесь, что java Oracle установлен как java по умолчанию:
$ update-alternatives --config java
вы получаете что-то вроде этого:
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /opt/java/jdk1.8.0_05/bin/java 20000 auto mode 1 /opt/java/jdk1.8.0_05/bin/java 20000 manual mode 2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode Press enter to keep the current choice[*], or type selection number:
обратите внимание на звездочку перед цифрами слева, и если правильный не установлен, выберите правильный, введя его номер и нажав enter. теперь проверьте свою java:
$ java -version
если вы получаете что-то вроде следующего, вы хорошо идти:
java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
также обратите внимание, что вам может потребоваться разрешение root или быть в группе sudoers, чтобы сделать это. Я протестировал это решение на ubuntu 12.04 и Debian wheezy и он работает в обоих из них.
Если вы хотите, чтобы эта переменная среды была доступна всем пользователям и при запуске системы, вы можете добавить следующее в /etc/profile.d/java.sh (создайте его при необходимости):
export JDK_HOME=/usr/lib/jvm/java-7-oracle export JAVA_HOME=/usr/lib/jvm/java-7-oracle
затем в терминале выполнить:
sudo chmod +x /etc/profile.d/java.sh source /etc/profile.d/java.sh
мой второй вопрос - Должен ли он указывать на java-6-sun или java-6-sun-1.6.0.24 ?
Он всегда должен указывать на
java-7-oracle
как это символические ссылки на последний установленный (при условии, что вы установили Java из репозиториев Ubuntu и теперь из загрузки, доступной по адресу oracle.com).
java 6
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
или java 7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
если вы делаете какую-либо разработку, вам нужно указать на JDK (Java Development Kit). В противном случае можно указать на JRE (Java Runtime Environment).
JDK содержит все, что имеет JRE и многое другое. Если вы только запуска Java-программ, вы можете указать либо JRE или JDK.
вы должны установить
JAVA_HOME
на основе текущей Java, которую вы используете.readlink
выведет значение символьной ссылки для текущей Java иsed
настроит его на JRE каталог:export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
если вы хотите настроить JAVA_HOME на JDK, вы должны подняться еще на одну папку:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
Если вы хотите использовать определенную версию Java при установке нескольких JDK, просто установка JAVA_HOME может не работать.
вы должны использовать
sudo update-alternatives --config java
для установки Java по умолчанию.см.https://askubuntu.com/questions/121654/how-to-set-default-java-version.
посмотреть этой; run
sudo update-java-alternatives --list
чтобы перечислить все установки Java на машине по имени и каталогу, а затем запустить
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
чтобы выбрать, какой JRE / JDK использовать.
если вы хотите использовать разные JDKs/JREs для каждой задачи 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 для некоторых приложений: from ответ можно использовать
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
для JREs, или
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
для JDKs.