12 votes

Prise en charge de plusieurs versions de Java sur OS X et emplacement de JAVA_HOME

Je sais qu'il est possible d'avoir plusieurs versions de Java sur OS X mais j'ai du mal à comprendre comment cela fonctionne.

Je suis passé à Mountain Lion et maintenant echo $JAVA_HOME est vide.

Toutefois, en /System/Library/Frameworks/JavaVM.framework/Versions/

1.4     1.5     1.6     A       CurrentJDK
1.4.2   1.5.0   1.6.0   Current

Quand je vais dans la version 1.4.2 et que j'exécute java - version o ./java -version

Environnement d'exécution Java(TM) SE (build) 1.6.0 _33-b03-424-11M3720)

Alors pourquoi toutes ces versions sont-elles utilisées si elles ont la même version de Java ?

J'ai ensuite téléchargé le JDK 7 d'Oracle et je l'ai installé.

Où un nouveau JDK est généralement installé ?

Et dernière question : comment puis-je choisir la version qui doit être exécutée par défaut par toutes les applications ?

A Win. I set JAVA_HOME à la C:/ProgramFiles/Java/.… J'ai mis dans Chemin : emplacement à JAVA_HOME/bin et c'est tout.

14voto

Graham Perrin Points 7373

Préférer une version de Java

Utilisez les préférences Java de la manière habituelle.

Selon ce que vous avez installé en plus de la distribution de Java par Apple, le premier onglet de l'utilitaire peut apparaître un peu différent.

Un exemple, sans les options familières pour les applets et Java Web Start :

Screenshot of Java Preferences

Il y a quelques lecture de fond pour savoir comment cela fonctionne au niveau de la ligne de commande. L'outil de ligne de commande java_home rapporte ce paramètre de préférence.

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home

El /usr/bin/java L'application générique utilise ces paramètres pour exécuter la version préférée de Java.

$ which java
/usr/bin/java

$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

Enfin, lorsque vous configurez JAVA_HOME dans un script de lancement pour Tomcat ou Maven, vous pouvez vous accrocher au système de préférences :

export JAVA_HOME=`/usr/libexec/java_home`

Les réponses d'ailleurs notent que Java peut être installé à plusieurs endroits - 

  • /Système/Bibliothèque/Java/JavaVirtualMachines
  • /Bibliothèque/Java/JavaVirtualMachines
  • ~/Bibliothèque/Java/JavaVirtualMachines

- mais pour ce qui est actuellement décrit dans la question ici, le JDK d'Oracle sur Mountain Lion, un seul chemin est probable .

5voto

Carlo Points 503

Depuis Mac OS X 10.8.2 Build 12C60 Les préférences de Java n'affichent plus les anciennes versions.

3voto

Graham Perrin Points 7373

Chemins utilisés pour l'installation des JDKs

Cours :

ls -l /Library/Java/JavaVirtualMachines

D'autres chemins peuvent être utilisés, mais pour le JDK actuel d'Oracle, installé sur Mountain Lion, vous trouverez probablement le chemin suivant .jdk paquet à ce chemin.

3voto

Graham Perrin Points 7373

Contenu de /System/Library/Frameworks/JavaVM.framework/Versions

Pour la plupart des cas d'utilisation, CurrentJDK devrait offrir les mêmes fonctionnalités que l'actuelle et des versions antérieures du JDK.

Pas toutes les versions passées, mais les versions les plus couramment demandées :

sh-3.2$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8
BuildVersion:   12A269
sh-3.2$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 64
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6.0 -> CurrentJDK
drwxr-xr-x  8 root  wheel  272 17 Jul 07:48 A
lrwxr-xr-x  1 root  wheel    1 17 Jul 07:47 Current -> A
lrwxr-xr-x  1 root  wheel   59 17 Jul 07:47 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
sh-3.2$

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