J'ai du mal à comprendre (chemins réels vs liens) pour plusieurs versions Java sur mon Mac OSX. Normalement dans Windows si j'ai plusieurs versions installées sur ma machine, je peux simplement prendre le chemin qui version que je veux et l'utilise. Mais dans MAC OS XI, il y a quelque chose appelé liens qui est pointé vers CurrentJDK, et si je veux utiliser une version différente, je devrai changer le lien vers CurrentJdk à droite? Mais qu'est-ce qui prête à confusion pour moi, c'est que, comme vous pouvez le voir ci-dessous, toutes mes versions pointent vers le même CurrentJDK, ce qui signifie que toutes les versions pointent vers la version actuelle? Je m'attendais à ce qu'une seule d'entre elles pointe vers CurrentJDK et je pourrais simplement la changer besoin qui n'est pas le cas ici. Tout ce que je dois savoir, c'est comment trouver le chemin du dossier bin (commandes) pour chaque version, afin que je puisse simplement l'utiliser pour pointer vers CurrentJDK? Dites-moi également comment changer le lien vers CurrentJDK .
$ Java -version
Java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
$ pwd
/System/Library/Frameworks/JavaVM.framework/Versions
$ ls -l
lrwxr-xr-x 1 root wheel 5 Mar 20 11:12 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 Dec 2 2009 1.3.1
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.5.0 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.6.0 -> CurrentJDK
drwxr-xr-x 10 root wheel 340 Mar 20 11:13 A
lrwxr-xr-x 1 root wheel 1 Mar 20 11:12 Current -> A
lrwxr-xr-x 1 root wheel 59 Mar 20 11:12 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
Très probablement, vous n'avez qu'un seul jdk installé, donc tous les liens logiciels pointent vers le même jdk. Si toutefois vous aviez plusieurs jdks installés, vous devrez choisir celui à utiliser avec l'application 'Java Preferences' dans votre/Application/Utilities.
Les liens logiciels sont d'ailleurs créés avec le ln -s
commande à partir du terminal.
Pour différents types de JDK ou d'installations, vous aurez des chemins différents.
Sur Mac OS X Mavericks, le chemin que j'ai trouvé comme suit:
1) JRE intégré par défaut:
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
2) JDK téléchargés depuis Apple:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/
3) JDK téléchargés depuis Oracle:
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
Exécutez simplement les commandes suivantes:
$ brew update
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/
Oracle64-1.8.0.45 added
1.8.0.45 added
1.8 added
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
Oracle64-1.7.0.79 added
1.7.0.79 added
1.7 added
$ jenv versions
* system (set by /Users/wanluwang/.jenv/version)
1.7
1.7.0.79
1.8
1.8.0.45
Oracle64-1.7.0.79
Oracle64-1.8.0.45
$ Java -version
Java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
$ jenv global Oracle64-1.7.0.79
$ Java -version
Java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
De Apple Q&A technique Java Questions:
Préférences de l'utilisateur
Sous Mac OS X, le runtime Java fournit l'API Java.util.prefs qui est soutenu par l'API et les répertoires standard des préférences de Mac OS X. Il suffit d'utiliser ce pur Java L'API lit et stocke les préférences de votre application dans ~/Library/Preferences dans un fichier de liste de propriétés Mac OS X. Pour les applications qui peuvent déjà avoir leur propre format de préférences, ces préférences doivent être stockées dans le répertoire ~/Library/Preferences comme Ce répertoire est accessible depuis Java en créant un fichier avec le chemin d'accès de System.getProperty ("user.home") + "/ Library/Preferences /" + "com.example .votre.Application ". Une application qui devrait avoir des préférences globales pour tous les utilisateurs pourrait plutôt résider dans/Library/Preferences, mais ce répertoire n'est pas accessible en écriture pour les utilisateurs non administrateurs.
définissez $ Java_HOME = $ (/ usr/libexec/Java_home) dans votre .bash_profile
ou exportez Java_HOME = $ (/ usr/libexec/Java_home);
echo $ Java_HOME