J'ai essayé de trouver la meilleure façon d'exécuter OpenJDK Java Runtime en tant que Java par défaut pour ma boîte Fedora et d'utiliser Oracle JDK 6 pour le développement Android, notamment pour exécuter Android SDK Manager, Android Studio et Eclipse à partir d'Android Bundle.
J'ai installé OpenJDK Java Runtime à partir du référentiel Fedora qui a des alternatives de configuration comme suit.
[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
J'ai installé Oracle JDK 6 en utilisant le rpm fourni par Oracle.
Je pourrais faire en sorte qu'Android Bundle et Studio utilisent JAVA_HOME pour fonctionner sous Oracle JDK en restant fidèle .bashrc
.
export JAVA_HOME=/usr/java/jdk1.6.0_45/
export PATH=$JAVA_HOME/bin:$PATH
J'ai remarqué que Chrome utilise toujours OpenJDK (car j'ai encore besoin de lier le plugin).
Quelle est la différence entre JAVA_HOME et l'utilisation d'alternatives?
la source
java
etjavac
de différentes JDKs d'autre partJAVA_HOME=JAVALOCATION
pointeraitjava
,javac
etjavaws
àjava
,javac
etjavaws
dansJAVALOCATION
, respectivement.STUDIO_JDK
, que je peux ajouter~/.profile
ou~/.bashrc
qui est utilisé par Android Studio pour récupérer JDK, mais je pense que le bundle Android (Eclipse et SDK Manager) n'honorera pas cela.STUDIO_JDK
est une chose personnalisée. J'utiliserais des alternatives pour ces outils et définiraisJAVA_HOME
le chemin sous/usr/bin
lequel est géré paralternatives
. Lorsque des mises à niveau sont effectuées, il suffit de changeralternatives
.alternatives
etJAVA_HOME
dites/usr/bin/java
. Cela ressemble aussi à desJAVA_HOME
remplacementsalternatives
.JAVA_HOME
-le en le pointant vers/usr/bin
. Vous avez raison,JAVA_HOME
pouvez fonctionner indépendamment dealternatives
.