Eclipse Kepler pour OS X Mavericks demande Java SE 6


86

Je viens de faire une installation propre de OS X Mavericks, et j'ai téléchargé Eclipse Kepler, mais si je l'exécute, me donne ce message:

entrez la description de l'image ici

Me demandant d'installer Runtime Java SE 6; J'ai déjà installé Java 7, et si j'appuie sur Installcette boîte de dialogue, la télécharge et l'installe, et ouvre à nouveau Eclipse, la boîte de dialogue réapparaît.

Comment puis-je résoudre ce problème?


J'ai eu cette erreur auparavant dans les versions précédentes d'OSX, vous devez revenir au JDK 6 puis revenir à 7. PITA, je sais.
MLProgrammer-CiM

2
Si vous avez un JRE installé, vous devriez pouvoir choisir ce JRE à partir de Preferences -> Java -> Installed JREs, puis ajouter le JRE 7 à la liste des JRE installés - devrait résoudre le problème que je présume ... Je suppose que cela n'aidera pas beaucoup, si vous le pouvez n'ouvre pas du tout Eclipse - est-ce le cas?
Darwind

1
@Darwind je ne peux pas ouvrir Eclipse ... si je double-clique sur l'icône Eclipse apparaît cette boîte de dialogue ...
Piero

1
J'ai été invité une fois pour l'un de mes RCP Eclipse (et pas pour un autre que j'avais commencé plus tôt!), Il ne m'a plus demandé.
greg-449

2
cela fonctionne, après l'installation oui, j'ai redémarré l'ordinateur et fonctionne maintenant!
Piero

Réponses:


207

Cela est en partie dû aux définitions manquantes d'Oracle des capacités de la machine virtuelle JRE8.

Si vous ne souhaitez pas du tout installer JRE6 et utilisez simplement JRE8 sans le lier symboliquement au JRE6, vous pouvez également effectuer les opérations suivantes:

Copiez le fichier Info.plist situé au chemin nommé ci-dessous, par exemple ~ / Downloads /:

/Library/Java/JavaVirtualMachines/jdk.1.8.<…>/Contents/

puis remplacez

<key>JVMCapabilities</key>
 <array>
  <string>CommandLine</string>
 </array>

avec ce qui suit:

<key>JVMCapabilities</key>
 <array>
  <string>JNI</string>
  <string>BundledApp</string>
  <string>CommandLine</string>
 </array>

Ensuite, copiez le fichier à son emplacement d'origine (vous avez besoin des droits d'administrateur). Pour que cette modification prenne effet, vous devez vous déconnecter de votre compte (puis vous reconnecter) ou redémarrer votre ordinateur. La boîte de dialogue pour Java 6 ne devrait plus apparaître et Eclipse devrait se lancer très bien en utilisant JRE8 (ou JRE7). Il en va de même pour toute autre application qui demande initialement Java, par exemple la Creative Suite d'Adobe.

Sur une note connexe, il semble que ce changement de plist reste valable même après les mises à jour effectuées via le panneau des préférences Java dans les préférences système.

Si cela ne fonctionne toujours pas. Vous devrez peut-être ajouter des dossiers et un lien symbolique ( détails ):

sudo mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_*.jdk/Contents/Home/bundle/Libraries/
sudo mkdir -p /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
sudo mkdir -p /System/Library/Java/Support/Deploy.bundle

Après cela, j'ai eu l'erreur "L'application ne peut pas être ouverte car elle provient d'un développeur non identifié", la question suivante a la solution: stackoverflow.com/questions/19551298
...

6
Je peux confirmer qu'un redémarrage n'est absolument pas nécessaire. Je viens de me déconnecter et de me reconnecter. Cela suffit probablement pour redémarrer le Finder, sans même me déconnecter, mais je ne l'ai pas testé.
Carlo

5
Le redémarrage du Finder l'a fait pour moi.
Trevor Dixon

7
Au départ, cela m'a donné l'erreur Eclipse "Impossible de créer la machine virtuelle Java", mais c'était parce que mon / usr / bin / java était lié symboliquement à un autre 1.7 (le / Library / Internet / ... plugins un au lieu du / Bibliothèque / Java ... un). Après avoir corrigé ce lien, cela fonctionne à merveille pour moi - j'aimerais pouvoir donner deux votes positifs!
sage

2
L'explication est dans apple.stackexchange.com/questions/136975/… : "L'erreur se produit parce que JVM n'a pas pu démarrer - l'application Java elle-même a été codée en dur pour charger libserver.dylib. Ce fichier existe pour Java 1.6 et plus ancien, mais pas pour Java 1.7 et supérieur. La solution consiste à créer manuellement un lien symbolique entre la bibliothèque (qui se trouve dans Contents / Home / jre / lib / server / libjvm.dylib) là où elle est attendue. Un horrible hack, mais cela a résolu mon problème.
Albert Godfrind

7

Pour pouvoir exécuter Eclipse avec Java 7 (Oracle), je lance Eclipse en utilisant ce fichier: eclipse / Eclipse.app / Contents / MacOS / eclipse. Le dossier "eclipse" contient par défaut un alias pour ce fichier. Donc, tout ce que vous avez à faire est de double-cliquer sur l'alias nommé "eclipse".

Oracle avertit également que la version Java 7u25 d'Oracle et les versions antérieures ont été désactivées par Apple sur OS X (voir ici ). J'avais mis à niveau vers la dernière version de JDK avant de découvrir la manière de lancer Eclipse avec Java 7. Donc je ne sais pas si la mise à jour est nécessaire ou non.




1

Il m'est arrivé de le faire fonctionner sans une procédure comme les suggestions ci-dessus. J'ai effacé le dossier eclipse, puis je l'ai recopié de la poubelle. Veuillez vérifier si cela fonctionne pour vous.


1

Sur MAC OS X, après avoir installé JRE 7 à partir d'Oracle à l'aide du téléchargement .dmg, à l'ouverture d'Eclipse, il renvoyait toujours à mon ancien JRE 6.

Après de nombreuses recherches sur Google pour le problème, et en arrivant ici, en désespoir de cause, j'ai cliqué sur "Rechercher" dans Eclipse -> Préférences -> JRE installés et le tour est joué - il a récupéré JRE 7.


1

Dans mon cas, avec Eclipse 4.5.1 Mars (installé à partir du programme d'installation d'OS X, téléchargé depuis eclipse.org) et OS X El Capitan :


Juste pour ajouter à cette réponse - JRE ne suffit pas. Vous devez installer JDK et tout va bien.
Petr Urban
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.