Sur Ubuntu 12.04 LTS, j'ai installé JDK7, Eclipse et l'IDE Arduino de Sun. Je souhaite que l'Arduino utilise OpenJDK 6 et qu'Eclipse utilise le JDK 7 de Sun.
De mon point de vue, je dois choisir manuellement le Java à utiliser avant de lancer chaque application. Cela m'a conduit à la commande update-Java-alternatives -l
. Quand je lance ceci, je ne vois que ce qui suit:
Java-1.6.0-openjdk-AMD64 1061 /usr/lib/jvm/Java-1.6.0-openjdk-AMD64
mais quand je lance update-alternatives --config Java
je vois ce qui suit:
*0 /usr/lib/jvm/Java-6-openjdk-AMD64/jre/bin/Java auto mode
1 /usr/lib/jvm/Java-6-openjdk-AMD64/jre/bin/Java manual mode
2 /usr/lib/jvm/jdk1.7.0/bin/Java manual mode
3 /usr/lib/jvm/jre1.7.0/bin/Java manual mode
Je ne comprends pas pourquoi le update-Java-alternatives
n'affiche pas les 3 mêmes options. Je ne comprends pas non plus comment basculer entre OpenJDK6 et JDK7. Comment puis-je utiliser OpenJDK6 pour le développement Arduino et Sun JDK7 pour le développement Eclipse/Android?
Sudo update-alternatives --config Java
Configure la valeur par défaut pour le programme "Java". C'est la Java VM.
Sudo update-alternatives --config javac
Configure le compilateur Java par défaut.
Vous pouvez également voir cela, car la première commande répertorie un grand nombre de dossiers "JRE" (Java Runtime Environment) et que le programme s'appelle simplement "Java".
Si je vérifie quelle version est utilisée en exécutant la commande Java -version
ou javac -version
, je peux voir que chaque commande modifie le programme utilisé.
Cependant, utiliser update-Java-alternatives
avec une version du JDK change les deux programmes pour moi. En utilisant les premières commandes, vous pouvez utiliser un compilateur Java VM et Java provenant de différents JDK.
Il semble donc que vous deviez également installer le paquetage openjdk-7-jdk
. Il semble que vous n’ayez installé que openjdk-7-jre
.
En ce qui concerne la commutation pour différents environnements de développement:
Parlez-vous de démarrer le IDE lui-même avec différentes versions de Java ou d'utiliser différentes versions dans le IDE pour la compilation et l'exécution de votre application?
Pour 1 .: Vous pouvez spécifier quelle machine virtuelle à utiliser dans Eclipse.ini, comme décrit ici . Je ne sais pas comment faire cela pour l'IDE Arduino.
Pour 2 .: Dans Eclipse, vous pouvez sélectionner le JRE/JDK à utiliser dans Fenêtre -> Préférences -> Java -> JRE installés. Et sous Java -> Compilateur, vous pouvez choisir une conformité plus ancienne Java si vous le souhaitez.
EDIT: Cette page de DigitalOcean contient également une très belle explication de tout ce qui concerne Java sur Ubuntu.
update-Java-alternatives
est un programme permettant de mettre à jour des alternatives pour les installations de jre/jdk
.
update-alternatives
est un système de gestion de liens symboliques pour Linux (je suis sûr qu'il y a peu de nouvelles ici).
Vous pouvez et devriez réellement utiliser les deux update-Java-alternatives
et update-alternatives
ensemble.
Tout d'abord, assurez-vous que toutes les alternatives sont configurées correctement. Java et javac ne sont que quelques-uns. Il y a javadoc
name__, rmic
name__, serialver
et autres, en remplaçant les variables ci-dessus par: native2ascii
et /opt/jdk1.8.0_40/bin/native2ascii
devraient indiquer si la variante est installée et/ou sélectionnée.
Lorsque toutes les alternatives sont configurées, vous pouvez créer des liens dans /usr/lib/jvm
vers votre installation manuelle.
Afin de configurer update-Java-alternatives
, vous devez utiliser un fichier caché portant le même nom que votre répertoire mais préfixé par un. (point).
J'espère que cela t'aides.
Bibliographie
man -S 8 update-Java-alternatives
http://tech.lanesnotes.com/2008/03/using-alternatives-in-linux-to-use.html
https://stackoverflow.com/questions/6477415/how-to-set-oracles-Java-as-the-default-Java-in-ubunt