web-dev-qa-db-fra.com

Impossible d'obtenir le compilateur Java système. S'il vous plaît utiliser un JDK, pas un JRE

Je reçois Impossible d'obtenir le compilateur Java système. Veuillez utiliser un JDK, pas un JRE. lorsque le fichier jsp est dans le projet et que je le déploie dans Google App Engine. J'ai donc essayé ce qui suit pour résoudre le problème:

  1. Ajoutez -vm C:\Program Files\Java\jdk1.6.0_43\bin\javaw.exe à mon fichier Eclipse.ini.
  2. Assurez-vous que le JDK se trouve dans le chemin de génération de mon projet et non dans le jre.
  3. Ajoutez le fichier C:\Program Files\Java\jdk1.6.0_43\bin\à la variable PATH pour la variable d’environnement.

Mais aucun de ceux-ci n'a résolu le problème. Comment puis-je résoudre ça? 

32
user2054833

Lorsque vous ajoutez -vm C:\Program Files\Java\jdk1.6.0_43\bin\javaw.exe à Eclipse.ini, veillez à placer -vm et C:\Program Files\Java\jdk1.6.0_43\bin\javaw.exe sur des lignes séparées. 

35
user2403826

Suivre 2 choses a fonctionné pour moi.

1) Assurez-vous que votre chemin Java_HOME est défini sur JDK et que Java_HOME est inclus dans PATH.

2) Ajoutez les deux premières lignes du code suivant dans Eclipse.ini. Cela devrait ressembler à ci-dessous.

-vm
C:\Program Files\Java\jdk1.7.0_03\bin\javaw.exe
-startup
plugins/org.Eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20130807-1835-product
org.Eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.Eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
30
Harshit

Pourriez-vous coller votre fichier Eclipse.ini ici? Je viens d’ajouter la ligne vm il ya quelques jours et cela a bien fonctionné.

Rappelez-vous juste qu'il doit être mis AVANT la ligne -vmargs ...

15
Lord Khizir

J'ai eu le même problème et je suis arrivé à la conclusion:

Si Eclipse est exécuté avec JRE, il utilisera JRE au lieu de JDK lors du déploiement sur App Engine même si le paramètre Préférence est défini pour utiliser JDK. 

Solution: modifiez le chemin Java_HOME en JDK depuis JRE et assurez-vous que Java_HOME\bin est inclus dans PATH. Ensuite, redémarrez Eclipse.

5
seongjoo

Je résous ce problème en modifiant le fichier appcfg.cmd du dossier SDK de Google App Engine.

Le fichier appcfg.cmd est situé à 

{Répertoire Eclipse}\plugins\com.google.appengine.Eclipse.sdkbundle_1.8.8\appengine-Java-sdk-1.8.8\bin

Remplacez la chaîne Java de la commande par l'emplacement spécifique de Java.exe sous le dossier jdk:

Original:

Java -Xmx1100m -cp "% ~ dp0 ..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg% *

Après avoir changé:

"C:\Programmes\Java\jdk1.7.0_45\bin\Java.exe" -Xmx1100m -cp "% ~ dp0 ..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin .AppCfg% *

3
IntoCode

J'ai rencontré la même erreur ["impossible d'obtenir le compilateur Java système"] lors du téléchargement du livre d'or de guerre. J'avais JDK installé et "Java -version" pouvait imprimer les informations de version correctement. Alors quelle partie a mal tourné?
La cause du problème réside ici: 

Outre le répertoire% Java_HOME%/bin, Java.exe/javaw.exe existe également dans le sous-répertoire C:\Windows \.

La commande de téléchargement utilisait Java.exe dans le sous-répertoire c:\windows\à la place de celle située dans le répertoire% Java_HOME%.
Solution:
Placez "% Java_HOME%/bin" en tête de la définition de la variable d’environnement PATH. Cela devrait garantir que le contenu% Java_HOME% soit utilisé.

3
user3016498
  1. Éditez Eclipse ini et ajoutez -vm C:\Program Files\Java\jdk1.7.0_65\bin\javaw.exe.__

    --launcher.defaultAction fichier ouvert -vm C:\Program Files\Java\jdk1.7.0_65\bin\javaw.exe --launcher.appendVmargs

  2. Configurez votre Java_HOME pour qu'il pointe vers le dossier jdk (C:\Program Files\Java\jdk1.7.0_65)

Cela a fonctionné parfaitement pour moi.

2
jsaf

Le dernier recours: une solution facile mais certes pas très élégante consiste à désinstaller tous les JRE .

1
rwitzel

J'ai reçu cette erreur dans Android Studio lors de la construction du projet. J'ai défini l'emplacement du JDK dans les paramètres (Fichier ==> Paramètres) et le problème a été résolu pour moi.

0
Vishantha Peiris

Accédez à Windows -> Preferences -> Java -> Installed JREs -> Add..., puis définissez le chemin d'accès à votre dossier JDK sur JRE home. Les champs restants seront remplis automatiquement. Ensuite, dans la liste Installed JREs, assurez-vous que le JDK nouvellement ajouté est marqué comme étant celui par défaut.

0
gcvt

Étrangement, j'ai été confronté à ce problème soudainement sans aucun changement (à part peut-être une mise à niveau de Windows 8 à la version 8.1).

J'ai pu résoudre ce problème en plaçant -vm avant -vmargs dans le fichier Eclipse.ini.

0
Slaine

J'ai mis à jour tous les emplacements suggérés pour qu'ils pointent vers mon jdk1.8.0_111 plutôt que jre: Eclipse.ini, chemin système, Java_HOME. Également supprimé l'entrée Oracle de mon chemin: C:\ProgramData\Oracle\Java\javapath (qui pointait au jre). Finalement, j'ai trouvé un autre spot qui faisait référence au jre, qui l'a finalement corrigé:

Dans Eclipse -> Propriétés de mon projet -> Chemin de construction Java -> La bibliothèque système JRE était toujours pointée sur mon jre. Supprimé, fait "Ajouter une bibliothèque" et l'a pointé sur mon jdk. Eclipse redémarré et je pouvais enfin me déployer avec un jsp.

Je suis retourné et j'ai supprimé Java_HOME et cela fonctionne toujours (Java_HOME interfère avec d'autres systèmes de compilation).

J'attends avec impatience de trouver une bonne construction en ligne de commande afin de ne pas utiliser de compilateurs aléatoires.

0
Eric McNeill

Assurez-vous que votre variable d’environnement Java_HOME fait référence au répertoire de base JDK, pas à JRE.

0
gluckonavt

J'ai fait tout ce que tout le monde a dit et rien n'a fonctionné. Je devais changer le type de projet: Projet -> Propriétés -> Facettes du projet et vérifier le module Web dynamique. Après cela, j'ai pu déployer le projet.

0
Israel Toledo