web-dev-qa-db-fra.com

Configuration de la machine virtuelle Java Eclipse

Contexte: J'ai une nouvelle installation Eclipse et le plugin m2Eclipse. Après le démarrage, m2Eclipse génère le message suivant:

Eclipse est exécuté dans un environnement JRE, mais JDK est requis

En suivant les instructions de ici j'ai modifié le fichier Eclipse.ini pour utiliser la machine virtuelle JDK:

-startup
plugins/org.Eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.Eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-vm
"C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"

Cependant, après avoir redémarré Eclipse, le message indiquant qu'il fonctionne sous le JRE et non le JDK reste affiché. 

En regardant la configuration Eclipse via Aide -> A propos d'Eclipse -> Détails de l'installation -> Configuration, il semble qu'Eclipse récupère les détails de la configuration de la JVM ailleurs:

...
-vm
C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
Eclipse.home.location=file:/C:/Program Files (x86)/Eclipse/
Eclipse.launcher=C:\Program Files (x86)\Eclipse\eclipse.exe
[email protected]/../p2/
Eclipse.p2.profile=epp.package.jee
Eclipse.product=org.Eclipse.epp.package.jee.product
Eclipse.startTime=1252669330296
Eclipse.vm=C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll
Eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-vm
"C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"
-XX:MaxPermSize=256m
...

Ma question est la suivante: où est le premier argument {-vm et qui peut-il être supprimé ou modifié?

Merci

Update: j'ai mis à jour le fichier Eclipse.ini conformément à la réponse de VonC. Je reçois maintenant une erreur lors du lancement d'Eclipse en disant:

Un environnement d'exécution Java (JRE) ou un kit de développement Java (JDK) doit être disponible pour exécuter Eclipse. Aucune machine virtuelle Java n'a été trouvée après une recherche dans les emplacements suivants: "C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"

J'ai confirmé que le chemin est correct et qu'il peut être exécuté via la ligne de commande.

Complétez Eclipse.ini ci-dessous:

-startup
plugins/org.Eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.Eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
-vm
"C:\Program Files\Java\jdk1.6.0_16\bin\javaw.exe"
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Solution: il semble qu'il y ait toujours un problème avec le fichier Eclipse.ini. Je l'ai complètement remplacé par les paramètres donnés par VonC dans le message qu'il a lié et Eclipse démarre maintenant correctement et utilise la bonne machine virtuelle. Complet Eclipse.ini ci-dessous pour toute autre personne ayant le même problème:

-showlocation
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.Eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
C:\Program Files (x86)\Java\jdk1.6.0_16\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.Sun.management.jmxremote
-Dorg.Eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/Eclipse/mydropins
17
Jared Russell

Voir:

pour un exemple de commande de paramètres.

-vm devrait être avant -vmargs


Mise à jour 6 ans plus tard (2015)

E Riz mentions dans les commentaires que le nouvel installateur Eclipse détectera la JVM pour vous ou proposera celle de télécharger.

 https://www.Eclipse.org/downloads/assets/public/images/installer-instructions-04.png

12
VonC

Incroyable, la solution à ce problème n'a pour moi rien à voir avec des barres obliques, des barres obliques inverses, des guillemets, des espaces, jre, jdk, jvm, javaw, ....

La réponse est que vous devez avoir un saut de ligne entre -vm et le chemin.

Donc, dans le fichier Eclipse.ini:

CELA NE FONCTIONNERA PAS:

-vm C:\Java\jdk\bin\javaw.exe

MAIS CELA SERA

-vm
C:\Java\jdk\bin\javaw.exe
7
Jeremy Goodell

Je pense que votre machine est Windows 64bit? 

Je ne vois pas de version 64 bits d’Eclipse sur le site. Donc, seulement 32 bits pourraient être disponibles ... Êtes-vous sûr qu'un JDK 32 bits est installé sur votre ordinateur? Juste une pensée... 

2
vpram86

Ceci a également été abordé dans la documentation Eclipse: https://wiki.Eclipse.org/Eclipse.ini#-vm_value:_Windows_Example

1
João Quintas

Mon problème était que - vm "C:\Programmes\Java\jdk1.7.0_67\jre\bin\javaw.exe"

le chemin était entre guillemets, quand j'ai enlevé les guillemets cela a fonctionné: 

-vm C:\Program Files\Java\jdk1.7.0_67\jre\bin\javaw.exe

0
Jolly1234

Si vous utilisez Windows, cliquez avec le bouton droit sur votre raccourci Eclipse et sélectionnez Propriétés. Dans l'onglet Raccourci, vous pouvez modifier le contenu de la zone Cible: pour spécifier le jdk. j'utilise

"C:\Programmes\Eclipse-jee-galileo-sr1 (3.5.1)\Eclipse.exe" -vm "C:\Programmes\Java\jdk1.6.0_16\bin\javaw.exe" -vmargs -Xmx1024m -XX: PermSize = 256M -XX: MaxPermSize = 512M -XX: + UseConcMarkSweepGC -XX: + CMSIncrementalMode Pour une raison quelconque, je ne pouvais pas le faire utiliser le jdk lorsque j'ai essayé de modifier le fichier Eclipse.ini.

Comment démarrer Eclipse dans JDK?

0
Abhijeet

Vous devez mentionner le chemin d'accès complet de javaw.exe après l'argument -vm sans utiliser de guillemets doubles, c'est-à-dire "", chacun de -vm et le chemin doit figurer sur des lignes différentes et -vm doit se trouver avant -vmargs. Par exemple:

-vm
C:\Program Files\Java\jrockit-jre1.6.0_45-R28.2.7\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
-XX:+UnlockDiagnosticVMOptions
-XX:MaxClassBlockMemory=75M
0
Abdollah