Я пытался выяснить, как лучше всего запустить OpenJDK Java Runtime в качестве Java по умолчанию для моего блока Fedora и использовать Oracle JDK 6 для разработки под Android, а именно для запуска Android SDK Manager, Android Studio и Eclipse из Android Bundle.
Я установил OpenJDK Java Runtime из репозитория Fedora, который имеет следующие варианты установки.
[donnie@fedora ~]$ alternatives --list | grep java
jre_openjdk auto /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre
jre_1.7.0 auto /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre
java auto /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/bin/java
libjavaplugin.so.x86_64 auto /usr/lib64/IcedTeaPlugin.so
Я установил Oracle JDK 6, используя rpm, предоставленный Oracle.
Я мог бы сделать так, чтобы Android Bundle и Studio использовали JAVA_HOME для работы под Oracle JDK, вставив следующую строку .bashrc
.
export JAVA_HOME=/usr/java/jdk1.6.0_45/
export PATH=$JAVA_HOME/bin:$PATH
Я заметил, что Chrome все еще использует OpenJDK (поскольку мне все еще нужно связать плагин).
В чем разница между JAVA_HOME и использованием альтернатив?
источник
java
иjavac
из различных JDKs с другой стороны ,JAVA_HOME=JAVALOCATION
будет указыватьjava
,javac
иjavaws
чтобыjava
,javac
иjavaws
вJAVALOCATION
, соответственно.STUDIO_JDK
, которое я могу добавить к~/.profile
или~/.bashrc
, которое используется Android Studio для получения JDK, но я думаю, что Android Bundle (Eclipse и SDK Manager) не выполнит это.STUDIO_JDK
это обычная вещь. Я хотел бы использовать альтернативы для этих инструментов и установитьJAVA_HOME
путь, по/usr/bin
которому управляетсяalternatives
. Когда обновление выполнено, изменениеalternatives
- все, что требуется.alternatives
иJAVA_HOME
сказать/usr/bin/java
. Также это похоже наJAVA_HOME
переопределенияalternatives
.JAVA_HOME
, указывая на это/usr/bin
. Вы правы,JAVA_HOME
можете действовать независимо отalternatives
.