Saya telah mencoba mencari cara terbaik untuk menjalankan OpenJDK Java Runtime sebagai Java default untuk kotak Fedora saya dan menggunakan Oracle JDK 6 untuk pengembangan Android yaitu untuk menjalankan Android SDK Manager, Android Studio dan Eclipse dari Android Bundle.
Saya menginstal OpenJDK Java Runtime dari repositori Fedora yang memiliki alternatif pengaturan sebagai berikut.
[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
Saya telah menginstal Oracle JDK 6 menggunakan rpm yang disediakan oleh Oracle.
Saya bisa membuat Android Bundle dan Studio menggunakan JAVA_HOME untuk berjalan di bawah Oracle JDK dengan tetap mengikuti di .bashrc
.
export JAVA_HOME=/usr/java/jdk1.6.0_45/
export PATH=$JAVA_HOME/bin:$PATH
Saya perhatikan bahwa Chrome masih menggunakan OpenJDK (karena saya masih perlu menautkan plugin).
Apa perbedaan antara JAVA_HOME dan menggunakan alternatif?
sumber
java
danjavac
dari JDKs yang berbeda di sisi lainJAVA_HOME=JAVALOCATION
akan menunjukjava
,javac
danjavaws
untukjava
,javac
danjavaws
diJAVALOCATION
masing-masing.STUDIO_JDK
, yang dapat saya tambahkan~/.profile
atau~/.bashrc
, yang digunakan oleh Android Studio untuk mengambil JDK tapi saya pikir Bundel Android (Eclipse dan SDK Manager) tidak akan menghormatinya.STUDIO_JDK
adalah kebiasaan. Saya akan menggunakan alternatif untuk alat-alat itu dan mengaturJAVA_HOME
jalur/usr/bin
yang dikelola olehalternatives
. Ketika upgrade dilakukan, perubahanalternatives
adalah semua yang diperlukan.alternatives
danJAVA_HOME
katakan/usr/bin/java
. Juga sepertinyaJAVA_HOME
ditimpaalternatives
.JAVA_HOME
, arahkan ke/usr/bin
. Anda benar,JAVA_HOME
dapat beroperasi secara independen darialternatives
.