web-dev-qa-db-fra.com

Mac OS X 10.6.7 Java Chemin JDK actuel déroutant

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
54
reddyvaribabu

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.

15

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
60
Châu Hồng Lĩnh

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)
4
Wanlu Wang

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.

0
george

définissez $ Java_HOME = $ (/ usr/libexec/Java_home) dans votre .bash_profile

ou exportez Java_HOME = $ (/ usr/libexec/Java_home);

echo $ Java_HOME

0
ashish yadav