web-dev-qa-db-fra.com

Comment exécuter Eclipse à l'aide du nouveau JDK 1.7 d'Oracle pour Mac?

J'essaie de faire en sorte que le nouveau 1.7 JDK fonctionne avec Eclipse (il s'agit de la version officielle d'Oracle).

Je ne parle pas seulement de pointer Eclipse vers lui pour que vous puissiez l'utiliser dans des projets, cela fonctionne bien, mais en réalité, faire fonctionner Eclipse à l'aide de la JVM 1.7.

J'ai placé la nouvelle machine virtuelle Java en haut de la liste dans les préférences Java, mais Eclipse commence toujours par 1.6. Si je désactive la version 1.6 dans les préférences Java, une boîte de dialogue s'affiche immédiatement après que je double-clique sur Eclipse avec le message "Impossible de créer la machine virtuelle Java".

edit: J'ai ajouté ce qui suit à mon Eclipse.ini juste avant le -vmargs:

-vm
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/Java

Pourtant, dans la boîte de dialogue des détails d'installation d'Eclipse, je vois encore:

Java.runtime.version=1.6.0_31-b04-415-11M3646

edit 2: voici le contenu de mon fichier Eclipse.ini: https://Gist.github.com/2512578

46
sanity

Je viens d'ajouter mon commentaire à https://bugs.Eclipse.org/bugs/show_bug.cgi?id=339788 concernant l'impossibilité d'utiliser le nouveau JDK Oracle avec Eclipse sous OS X. Utilisation de l'option -vm à l'intérieur Eclipse.ini ne fonctionne pas. La seule façon de contourner ce problème consiste à utiliser le script Shell suivant:

#!/bin/sh
#
export Java_HOME=/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
LAUNCHER_JAR=/Applications/Eclipse/plugins/org.Eclipse.equinox.launcher_1.2.0.v20110502.jar

Java \
-showversion \
-XX:MaxPermSize=256m \
-Xms1024m \
-Xmx1024m \
-Xdock:icon=/Applications/Eclipse/Eclipse.app/Contents/Resources/Eclipse.icns \
-XstartOnFirstThread \
-Dorg.Eclipse.swt.internal.carbon.smallFonts \
-Dosgi.requiredJavaVersion=1.5 \
-jar $LAUNCHER_JAR

En suivant les étapes de http://mathiasbynens.be/notes/Shell-script-mac-apps , j'ai transformé le script ci-dessus en une application que je peux conserver sur mon dock.

32
jkwuc89

Il y a un autre moyen. Veuillez ajouter les deux lignes suivantes avant -vmargs dans le fichier .ini:

-vm 
{YOUR_Java_7_HOME}/jre/lib/server/libjvm.dylib

(n'oubliez pas que ces lignes doivent être séparées) et ajoutez également une entrée correspondante dans le fichier 'Info.plist' (ajoutez ou modifiez des éléments de tableau sous la clé "Eclipse" - chaque élément enfant de chaîne correspond à un paramètre de ligne de commande).

...
<key>Eclipse</key>
<array>
<string>-vm</string>
<string>/{MY_VM_HOME}/jre/lib/server/libjvm.dylib</string>
...
</array>

Sinon, utilisez simplement le paramètre de ligne de commande -vm {YOUR_Java_7_HOME}/lib/server/libjvm.dylib lorsque vous exécutez Eclipse à partir du terminal.

36
Jan Arciuchiewicz

Apparemment, il existe un correctif pour Kepler qui devrait apparaître dans la prochaine version de service.

En attendant, il existe une solution de contournement mentionnée dans ce bogue qui vous permettra d’exécuter Eclipse sans jamais installer JRE 1.6 à partir d’Apple: https://bugs.Eclipse.org/bugs/show_bug.cgi?id=411361#c20

Cela vous permettra de lancer Eclipse à partir du Finder ou de Spotlight, mais pas du dock.

Je viens de tester ceci sur OS X Mavericks, qui lors de la mise à jour perd jre 6 et demande à ce qu'il soit installé lorsque vous essayez de lancer Eclipse. J'ai le dernier Oracle JDK 1.7 installé bien sûr.

Si vous refusez de le faire, puis modifiez-le, modifiez les fonctionnalités de jvm dans /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist.

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

Avec ce correctif, vous n'avez pas besoin de spécifier la machine virtuelle dans Eclipse.ini.

9
Jilles van Gurp

Après avoir installé Oracle JRE et JDK, ouvrez Info.plist dans Eclipse.app (clic droit, afficher le contenu) et collez-le après "Eclipse" "- vm/Système/Bibliothèque/Frameworks/JavaVM.framework/JavaVM"

Le mien ressemble à ceci:

    <key>Eclipse</key>
    <array>
        <string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/JavaVM</string>
        <string>-keyring</string><string>~/.Eclipse_keyring</string>
        <string>-showlocation</string>
    </array>

Si vous le faites, vous ne devrez pas mettre à jour le fichier après la mise à niveau de JRE.

3
adriannieto

Juste éditer 

Eclipse.app/Contents/Info.plist

Vous devez utiliser une version Java spécifique (au lieu de la version par défaut de la plate-forme) sans commenter l'une des options suivantes: 

<string>-vm</string>
<string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/Java</string>

Cela m'a aidé à passer de 1.7.0 à 1.6.0.

2
user2956091

Vérifiez que votre Java_home est corrento dans/usr/libexec/Java_home;

Ne modifiez pas votre fichier Eclipse.ini, n'éditez pas le fichier Info.plist et modifiez/ajoutez cette ligne <string> -vm </ string> <string>/Bibliothèque/Java/JavaVirtualMachines/'jdk-version-your'/Contents/Home/bin/Java </string>et sauvegarder. Ouvrez Eclipse et c'est fait!

Pour moi cela a bien fonctionné, et utiliser javafx e (fx) clipse!

PS: Sur un système Mac OS X, vous pouvez rechercher Info.plist en cliquant avec le bouton droit de la souris sur l’exécutable Eclipse dans le Finder, en sélectionnant Afficher le contenu de celui-ci, puis en recherchant Info.plist dans le dossier Contenu.

2
Laisson

Je viens d'avoir ce problème. Je l'ai corrigé en rétrogradant et en téléchargeant JDK 7. 

1
Ethan Cotler

En supposant que vous utilisiez une version d'Eclipse prenant en charge Java 7 (toutes les versions 3.7 et supérieures, je crois), vous devriez pouvoir spécifier la machine virtuelle utilisée par Eclipse dans le fichier Eclipse.ini. Si vous l'ouvrez, vous devriez voir une propriété "-vm" suivie du répertoire de la machine virtuelle que vous utilisez actuellement. Vous devriez pouvoir simplement changer ce répertoire en votre installation 1.7.

Remarque: je n'ai pas utilisé Eclipse sur Mac, le nom du fichier de configuration peut donc être différent.

1
Haz

À compter du 2012-04-28, il s'agit d'un bogue non résolu dans l'application de lancement Eclipse 3.7 SR2.

Voir https://bugs.Eclipse.org/bugs/show_bug.cgi?id=339788

1
Bruno Laturner

Cela a résolu pour moi en quelques clics . GoTo Eclipse - > Preference - > Java - > Installed JRE - > Add button - > Standard VM et référez-vous au chemin JRE Home à /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home et ajoutez un nom personnalisé. Une fois le chemin JRE fourni, les fichiers JAR requis seront automatiquement ajoutés et cliquez sur Terminer. Assurez-vous que jdk est déjà installé.

0
Gobi M

Pour moi, cela fonctionnait correctif proposé dans https://bugs.Eclipse.org/bugs/show_bug.cgi?id=411361#c25 :

#!/bin/bash

# Workaround for https://bugs.Eclipse.org/411361
# "[Mac] Kepler doesn't launch without JRE 6, even if JDK 7 is installed"
#
# Put this launch.command into the same folder as Eclipse.app.
#
# If necessary, adapt Java_EXECUTABLE to the full path to your Java executable:

Java_EXECUTABLE=Java

cd "$(dirname "$0")"

$Java_EXECUTABLE \
-Djava.library.path="$(echo plugins/org.Eclipse.equinox.launcher.cocoa.macosx.x86_64_*/Eclipse_*.so)" \
-Xms512m \
-Xmx2048m \
-Xdock:icon=Eclipse.app/Contents/Resources/Eclipse.icns \
-XstartOnFirstThread \
-Dorg.Eclipse.swt.internal.carbon.smallFonts \
-XX:MaxPermSize=256m \
-jar "$(echo plugins/org.Eclipse.equinox.launcher_*.jar)"  \
-os macosx \
-ws cocoa \
-Arch x86_64 \
-showsplash \
-name Eclipse \
--launcher.appendVmargs \
-debug \
-showlocation \
-consolelog
0
bluesman

J'ai eu un problème similaire après avoir téléchargé et installé Titanium. Mon Eclipse fonctionnait mais Titanium non et alors j'ai regardé dans le fichier de configuration pour voir ce qui était différent

Eclipse avait

Eclipse.p2.profile=epp.package.standard

Titane avait

Eclipse.p2.profile=profile

Après avoir modifié ce qui précède pour correspondre à la configuration Eclipse, j’ai pu lancer Titanium.

0
owen gerig

Par défaut, votre MacOSX est fourni avec JRE 1.6.0, qui ne convient pas à Eclipse. Pour résoudre le problème, vous devez également installer JDK 7, qui inclut déjà JRE 1.7.0.

Voici le lien que vous pouvez télécharger. 

Sélectionnez simplement la version MacOS X du kit de développement Java SE 7u79 et installez-la. 

http://fr.Oracle.com/technetwork/Java/javase/downloads/jdk7-downloads-1880260.html

Après l’installation de ce paquet, Eclipse démarrera sans autre modification. 

0
tolginho