Question update-java-alternatives vs update-alternatives --config java


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 que Eclipse utilise le JDK 7 de Sun.

D'après ce que je comprends, je dois choisir manuellement le Java à utiliser avant d'exécuter chaque application. Cela m'a conduit à la update-java-alternatives -l commander. Lorsque 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 cours 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?


68
2017-07-02 22:32


origine




Réponses:


sudo update-alternatives --config java

Configure la valeur par défaut pour le programme "java". C'est la machine virtuelle Java.

sudo update-alternatives --config javac

Configure le compilateur Java par défaut.

Vous pouvez également voir cela, car la première commande répertorie beaucoup de dossiers "JRE" (Java Runtime Environment) et le programme s'appelle simplement "java".

Si je vérifie quelle version est utilisée en lançant la commande java -version ou javac -version, Je peux voir que chaque commande change le programme utilisé.

Cependant, en utilisant update-java-alternatives avec une version JDK change tous les deux programmes pour moi En utilisant les premières commandes, vous pouvez utiliser une machine virtuelle Java et un compilateur Java à partir de différents JDK.

Il semble donc que vous deviez installer le openjdk-7-jdk paquet aussi bien. On dirait que vous avez seulement installé openjdk-7-jre.

Comme pour la commutation pour différents environnements de développement:

Parlez-vous de démarrer l'EDI lui-même avec différentes versions de Java ou en utilisant des versions différentes dans l'IDE pour la compilation et l'exécution de votre application?

Pour 1 .: Vous pouvez spécifier la JVM à 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 Window -> Preferences -> Java -> Installed JREs. Et sous Java -> Compiler, vous pouvez choisir une ancienne conformité Java si vous le souhaitez.


95
2017-12-10 11:17





update-java-alternatives est un programme pour mettre à jour des alternatives pour jre/jdk installations.

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 vraiment utiliser les deux update-java-alternatives et update-alternatives ensemble.

Tout d'abord, assurez-vous d'avoir toutes les alternatives configurées correctement. java et javac n'en sont que quelques-uns. Il y a javadoc, rmic, serialver et autres, en remplaçant les variables ci-dessus par: native2ascii et /opt/jdk1.8.0_40/bin/native2ascii doit indiquer si l’alternative est installée et / ou sélectionnée.

Lorsque toutes les alternatives sont configurées, vous pouvez ensuite créer des liens dans /usr/lib/jvm à votre installation manuelle.

Pour configurer update-java-alternatives vous devez utiliser un fichier caché avec 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-ubuntu


13
2017-08-23 18:11