Configuration de la machine virtuelle Java Eclipse
-
05-07-2019 - |
Question
Contexte: je viens d’installer une nouvelle installation d’éclipse 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 un JDK est requis
Suivez 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é.
Consultation de la configuration de l'éclipse via Aide - > À propos d'Eclipse - > Détails de l'installation - > Configuration , il semble que Eclipse récupère les détails de la configuration de la machine virtuelle Java 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
eclipse.p2.data.area=@config.dir/../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: d'où vient le premier argument -vm et comment puis-je le supprimer ou le modifier?
Merci
Mettre à jour : j'ai mis à jour le fichier eclipse.ini conformément à la réponse de VonC. Je reçois maintenant une erreur lors du lancement de l'éclipse en disant:
Un environnement JRE (Java Runtime Environment) 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 que le fichier eclipse.ini ait encore un problème. 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. Eclipse.ini complet 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
La solution
Voir:
pour un exemple d'ordre des paramètres.
-vm
doit être avant -vmargs
Mise à jour 6 ans plus tard (2015)
E Riz mentionne dans les commentaires que Le nouveau programme d'installation Eclipse détectera la machine virtuelle pour vous ou proposera celle à télécharger.
Autres conseils
Incroyable, la solution de ce problème pour moi n’a rien à voir avec les barres obliques, les barres obliques inverses, les guillemets, les espaces, jre, jdk, jvm, javaw, ....
La réponse est que vous devez séparer -vm
du 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
Je pense que votre machine utilise des fenêtres 64 bits?
Je ne peux pas voir une version 64 bits d’éclipse sur le site. Donc, seulement 32 bits pourraient être disponibles. Etes-vous sûr d'avoir un JDK 32bit installé sur votre machine? Juste une pensée ...
Ceci a également été abordé dans la documentation Eclipse: https://wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example
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: \ Program Files \ eclipse-jee-galileo-sr1 (3.5.1) \ eclipse.exe" -vm " C: \ Program Files \ 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.
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 fonctionnait:
-vm C: \ Program Files \ Java \ jdk1.7.0_67 \ jre \ bin \ javaw.exe
Vous devez mentionner le chemin complet de javaw.exe après l'argument -vm sans utiliser de guillemets, c'est-à-dire """, chacun de -vm et le chemin doit se trouver sur des lignes différentes et -vm doit se situer 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
Je résous cette question.
Lorsque vous créez un projet Maven dans Eclipse, le codage du fichier texte dans les propriétés de ce projet et le project.build.sourceEncoding
du pom.xml
n'étaient pas les mêmes. . Lorsque vous générez ce projet, il indique "Il est impossible de localiser le compilateur Javac dans: ... " erreur aussi.
Par exemple, mon codage de fichier texte était GBK et project.build.sourceEncoding
était UTF-8, de sorte que cette erreur s'est produite. Je viens de modifier le codage du fichier texte en UTF-8.