Comment définir l'option eclipse.ini -vm?

87

J'ai installé le plugin Maven pour Eclipse , puis j'ai eu une erreur comme ci-dessous:

veuillez vous assurer que l'option -vm dans eclipse.ini pointe vers un JDK

Comment utiliser l' -vmoption pour pointer vers mon JDK dans eclipse.ini?

cometta
la source
1
Assurez-vous que cela -vmvient avant -vmargs dans le eclipse.inifichier.
KeyMaker00

Réponses:

106

Ma solution est:

-vm
D:/work/Java/jdk1.6.0_13/bin/javaw.exe
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
cometta
la source
5
Sur les systèmes Unix, utilisez java au lieu de javaw.exe
jeremyjjbrown
62

Le fichier eclipse.ini doit avoir -vmsur la première ligne et un chemin sur la deuxième ligne. N'essayez pas de tout mettre en une seule ligne!

-vm
C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe
Mike B.
la source
9
cette réponse a sauvé au moins une heure
oguzalb
4
Merci pour l'astuce "en ligne". -vm "C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe"sur une ligne ne fonctionne pas.
rds
46

Tout ce qui suit "vmargs" est considéré comme des arguments vm. Assurez-vous simplement que c'est avant cela, qui est la dernière pièce dans eclipse.ini.

Richard
la source
1
Ceci est le peu d'information manquant ainsi que de ne pas mettre -vm et le chemin sur la même ligne
amrcus
1
Une autre chose à noter également, n'ouvrez pas le fichier ini dans le bloc-notes car il ne s'affichera pas correctement. Ouvrez-le dans un autre éditeur, par exemple notepad ++
amrcus
23

Il y a une page wiki ici .

Il existe deux façons de démarrer la JVM : en la forçant dans un processus distinct du lanceur Eclipse, ou en la chargeant en cours à l'aide du JNI API d'appel .

Si vous spécifiez -vmavec un chemin d'accès au fichier java (w) .exe réel, la machine virtuelle Java sera branchée dans un processus séparé. Vous pouvez également spécifier -vmavec un chemin d'accès à jvm.dll afin que la JVM soit chargée dans le même processus:

-vm
D:/work/Java/jdk1.6.0_13/jre/bin/client/jvm.dll

Vous pouvez également spécifier le chemin d'accès au dossier jre / bin lui-même.

Notez également que le format général de eclipse.ini est chaque argument sur une ligne distincte. Cela ne fonctionnera pas si vous mettez le "-vm" et le chemin sur la même ligne.

Andrew Niefer
la source
13

-vm

C: \ Program Files \ Java \ jdk1.5.0_06 \ bin \ javaw.exe

N'oubliez pas, pas de guillemets, peu importe si votre chemin contient des espaces (par opposition à l'exécution de la ligne de commande).

Voir ici: Trouvez le JRE pour Eclipse

Peter Mortensen
la source
10

Ma solution pour Ubuntu Linux:

-vm
/home/daniel/Downloads/jdk1.6.0_17/bin
-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.2.R36x_v20101019_1345
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
Daniel
la source
1
Il est important d'ajouter ces nouvelles lignes avant la déclaration -vmargs. Comme un en haut de fichier.
krzysiek.ste
8

Je ne sais pas si quelque chose a changé, mais j'ai juste essayé les autres réponses concernant les entrées dans "eclipse.ini" pour Eclipse Galileo SR2 (Windows XP SR3) et aucune n'a fonctionné. Java est jdk1.6.0_18 et est l'installation par défaut de Windows. Les choses se sont améliorées lorsque j'ai supprimé "\ javaw.exe" du chemin.

De plus, je ne saurais trop remercier la mention que -vm doit être la première ligne du fichier ini. Je pense que cela m'a vraiment aidé.

Ainsi mon fichier eclipse.ini commence par:

-vm
C:\Program Files\Java\jdk1.6.0_18\bin

Pour info, mon besoin particulier de spécifier le lancement d'Eclipse avec un JDK est né de mon désir de travailler avec le plugin m2eclipse.

hypotechguy
la source
5

Vous devez modifier le fichier eclipse.ini pour avoir une entrée similaire à celle-ci:

C:\Java\JDK\1.5\bin\javaw.exe (your location of java executable)
-vmargs
-Xms64m   (based on you memory requirements)
-Xmx1028m

Rappelez-vous également que dans eclipse.ini, tout ce qui est destiné à Eclipse doit être avant la -vmargsligne et tout ce qui concerne JVM doit être après la -vmargsligne.

Peter Mortensen
la source
4

Le JDK que vous pointez dans votre eclipse.ini doit correspondre à l'installation d'Eclipse.

Si vous exécutez un Eclipse 32 ou 64 bits, utilisez respectivement un JDK Java 32 ou 64 bits.

activedecay
la source
3

J'aimerais partager ce petit hack:

Un clic sur l'icône d'Eclipse a indiqué un problème avec le JRE. Donc, j'ai mis cette commande dans le champ de destination des propriétés de l'icône:

C:\...\eclipse.exe -vm c:\'Program Files'\Java\jdk1.7.0_51\jre\bin\javaw

Penser que le "'" résoudrait le problème de l'espace dans le chemin. Cela n'a pas fonctionné. Ensuite, j'ai essayé cette commande:

C:\...\eclipse.exe -vm c:\Progra~1\Java\jdk1.7.0_51\jre\bin\javaw

avec succès

Bruno Alessi
la source
2

En supposant que vous ayez un dossier jre, qui contient des fichiers bin, lib, etc. copiés à partir d'une distribution Java Runtime, dans le même dossier que eclipse.ini, vous pouvez définir dans votre eclilpse.ini

-vm
jre\bin\javaw.exe
yuj
la source
2

Je sais qu'il existe une option de ligne de commande -vm, pour spécifier le chemin d'accès à l'exécutable du runtime Java. Cela peut être le même que dans eclipse.ini.

chrmue
la source
-1
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms2000m
-Xmx3512m
shashi
la source
Cela ne définit pas la JVM et demande inutilement d'énormes quantités de mémoire.
Christopher Schneider