0 votes

Qu'est-ce qui définit ma machine virtuelle Java ?

Je ne comprends pas comment mon environnement Java se met en place. Si plusieurs versions de Java sont installées, comment la version correcte est-elle sélectionnée lorsque je lance une application dépendant de Java ?

J'ai installé à la fois la version originale 1.6 de Java d'Apple et la version 1.8 plus récente de Sun.

Si je tape java -version Je reçois

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)`

ls -l /usr/bin/java produit lrwxr-xr-x 1 root wheel 74 Jun 16 2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaCurrent est dirigé vers l'installation Java 1.6 d'Apple.

1voto

Niels Cölle Points 61

Dans votre session de terminal actuelle, vous pouvez sélectionner la JVM en utilisant /usr/libexec/java_home -v 1.8 voir java_home --help pour plus d'options.

Pour les applications GUI, vous devez définir JAVA_HOME comme variable d'environnement. La définition des variables d'environnement sous Mac OS est expliquée dans Variables d'environnement dans Mac OS X sur StackOverflow. Sachez que ~/.launchd.conf est déprécié : man launchd.con sur Yosemite

...launchd.conf n'est plus respecté par le système. ...

1voto

yoliho Points 340

Les exécutables java dans /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java ne sont pas les exécutables qui lancent simplement le compilateur java, etc. Ce sont des wrappers qui utilisent /usr/libexec/java_home pour trouver les exécutables.

Java 6 d'Apple se trouve dans /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin.

Exécuter /usr/libexec/java_home -V pour voir tous les Java VMs que vous avez installés.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X