web-dev-qa-db-fra.com

Installations multiples Java dans Mac OS X Mavericks

J'ai téléchargé JDK pour Mac OS X 10.9.1 d'Oracle , mais j'ai dû installer un autre Java from Apple site $ again = , car je n'ai pas pu lancer Eclipse avec.

Ce sont deux pages que j'ai référées.

Maintenant, j'ai trois Java installés sur mon ordinateur.

Installation A

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/Java

Java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

Installation B

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/Java

Java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

Installation C

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/Java

Java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

J'ai trouvé que je peux facilement supprimer l'installation C , mais je ne suis pas sûr que ce soit OK.

Lorsque j'ai appelé Java à partir de la ligne de commande, cela pointe vers l'installation A.

Java -version
Java version "1.7.0_51"

ls -alF `which Java`
lrwxr-xr-x  1 root  wheel  74 Jan 15 09:12 /usr/bin/Java@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/Java
  • Existe-t-il un moyen d'utiliser un seul JDK 1.7 pour Mavericks en supprimant deux d'entre eux en toute sécurité?

ÉDITER

Après quelques réglages et tests, je n'ai qu'un seul Java (1.6) installé. J'ai l'installation B, et maintenant l'installation C est liée à l'installation A.

Pour utiliser Eclipse, j'ai dû faire passer le niveau de conformité du compilateur à 1.6 pour l'utiliser (à partir de l'aide Java.lang.UnsupportedClassVersionError Unsupported major.minor version 51. ).

enter image description here

EDIT2

Cela semble être le cas.

  1. Installation de Apple Java

    • Installation A
    • L'installation B est un lien symbolique vers A
  2. Installation d'Oracle Java

    • Installation C
    • Modification de l'installation B qui
      1. A créé un /System/Library/Frameworks/JavaVM.framework/Versions/A
      2. Fichiers copiés de l'installation C (lien non symbolique)
      3. Rendre un lien symbolique actuel vers les versions/A

J'ai essayé d'installer Oracle Java uniquement en supprimant Apple Java, mais j'ai eu une erreur d'installation, donc je suppose Apple = Java est nécessaire pour installer Oracle Java.

14
prosseek

Il semble que le JDK Oracle puisse être simplement supprimé. Pour Eclipse, je pourrais ajouter l'installation A comme JRE par défaut de Java Build Path -> JRE System Library -> Installed JRES -> Add ...

enter image description here

1
prosseek

Spécifiez la JVM pour Eclipse

Vous pouvez spécifier la version JDK pour une utilisation avec Eclipse in Eclipse.ini . Cela résoudra le problème avec le démarrage d'Eclipse.

-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/Java

Avertissement : Ajoutez cette configuration avant -vmargs.

Maîtrisez votre Java Environnement avec jenv

Il est beaucoup plus facile de maintenir plusieurs versions de JDK avec jenv .

jenv est pour un équivalent de rbenv, mais pour Java environnement. Il permet de basculer facilement entre plusieurs installations JDK ( présente déjà), et configurer celui à utiliser par projet.

Eclipse JDK

8
MariuszS