Je suis allé dans Variables d'environnement dans "Système" dans le panneau de configuration et en ai créé deux nouvelles, une pour les variables utilisateur et une pour les variables système. Les deux s'appellent Java_HOME et les deux pointant vers
C:\Sun\SDK\jdk\bin
Mais pour une raison quelconque, je reçois toujours l'erreur ci-dessous lors de l'exécution d'une commande Java ...
BUILD FAILED
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish\setup.xml:161: The following error occurred while executing this line:
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish\setup.xml:137: Please set Java.home to a JDK installation
Total time: 1 second
C:\Users\Derek\Desktop\Eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml
Comment puis-je résoudre ce problème?
Trouver le répertoire d'installation du JDK
Vous devez d’abord connaître le chemin d’installation du kit de développement Java.
Ouvrez le chemin d'installation par défaut pour le JDK:
C:\Program Files\Java
Il devrait y avoir un sous-répertoire comme:
C:\Program Files\Java\jdk1.8.0_172
Note: il suffit de mettre le chemin du jdk sans/bin à la fin (comme suggéré sur beaucoup d'endroits). par exemple. C:\Java\jdk1.8.0_172 et PAS C:\Java\jdk1.8.0_172\bin!
Définir la variable Java_HOME
Une fois que vous avez le chemin d’installation du JDK:
Remarque: Vous devrez peut-être redémarrer Windows.
L'article complet est ici, sur mon blog: Définition de la variable Java_HOME dans Windows .
Ce qui a fonctionné pour moi, c’est d’ajouter le %Java_HOME%\bin
à la variable d’environnement Path avec la variable d’environnement Java_HOME
pointant vers le dossier jdk
.
Vous devez d'abord Installer JDK dans votre système.
Définir Java Accueil
Java_HOME = C:\Program Files\Java\jdk1.7.0 [emplacement de votre répertoire d'installation JDK]
Une fois que vous avez le chemin d’installation du JDK:
Définir Java chemin sous variable système
CHEMIN= C:\Program Files\Java\jdk1.7.0; [Ajouter une valeur avec un point-virgule]
En cmd (temporairement pour cette fenêtre cmd):
set Java_HOME="C:\\....\Java\jdk1.x.y_zz"
echo %Java_HOME%
set PATH=%PATH%;%Java_HOME%\bin
echo %PATH%
http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html
Panneau de configuration> Java, onglet Java, cliquez sur le bouton Afficher. Dans les paramètres d'exécution, mettez:
-Djava.home=YOUR_PATH_HERE
Ou, lorsque vous exécutez Java, vous pouvez ajouter ce commutateur de ligne de commande à la commande:
Java -Djava.home=PATH SomeJavaApp
Vous devez le définir sur C:\Sun\SDK\jdk
(en supposant que le JDK est installé - ce n'est pas la valeur par défaut) - Ne mettez pas le\bin dans C:\Sun\SDK\jdk\bin
.
Si votre application ne s'exécute que lorsque vous êtes connecté en tant qu'utilisateur actuel, placez-la dans les variables utilisateur - Si elle doit s'exécuter pour tous les utilisateurs de votre système, mettez-la dans les variables système.
Vous devrez peut-être aussi ajouter %Java_HOME%\bin
au chemin également (cela dépend aussi si vous l'exécutez uniquement à partir de l'utilisateur ou de tous les utilisateurs, y compris le système).
Pour ceux qui sont encore perplexes avec ce problème (j'ai essayé toutes les suggestions ci-dessus) -
Si vous utilisez une version 64 bits de Windows et que vous avez installé le JDK 32 bits, outre l'ajustement des variables PATH
, vous devrez peut-être également ajuster les variables Registre.
Je me tirais les cheveux, après avoir défini correctement mes variables PATH
- toujours sans succès - et alors seulement trouver les entrées "vacées" Java dans mon registre, semblant être une impasse pour réparer le "raté" Java Environnement d'exécution.
En utilisant Process Monitor
pour regarder le programme que j'essayais de démarrer, afin de repérer où il se trouvait dans le registre pour rechercher Java (environnement d'exécution), j'ai triomphalement découvert qu'il cherchait la version 2 bits des entrées de registre, trouvée dans HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environment
.
Dans cette clé, vous devriez trouver des sous-clés de différentes versions de Java installées (passées et/ou présentes). Cliquez sur la sous-clé de la dernière version (ma sous-clé est actuellement 1.7.0_25, par exemple). Après avoir cliqué sur cette sous-clé, vous verrez les valeurs de chaîne de registre listées à droite, et en particulier JavaHome
et RuntimeLib
. Vous devez modifier les valeurs de ces deux valeurs afin de refléter le dossier actuel et le fichier jvm.dll, respectivement.
Par exemple, dans mon cas, les valeurs étaient (précédemment) respectivement définies sur C:\Program Files (x86)\Java\jre7
et C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll
, qui n'existent pas sur ma machine. Je devais les mettre à jour dans le dossier et le fichier en cours de C:\Program Files (x86)\Java\jdk1.7.0_25\jre
et C:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dll
.
Là encore, cela dépendra entièrement de la version de Java (JDK et/ou JRE) que vous avez installée (32 ou 64 bits) et du type de système d'exploitation utilisé, 32 ou 64 bits. Sachez simplement qu'ils se reflètent à différents emplacements dans le registre (comme le Wow6432Node
pour les applications 32 bits, dans mon cas, avec le JDK 32 bits installé sur un ordinateur 64 bits).
Maintenant que j'ai mis à jour ces deux valeurs de registre, mon programme fonctionne parfaitement, sans aucun hoquet ni réclamation concernant un environnement d'exécution manquant Java (issu du registre).
Ceci est la solution officielle pour configurer l'environnement Java à partir de www.Java.com - ici .
Il existe des solutions pour Windows 7, Windows Vista, Windows XP, Linux/Solaris et d'autres shells.
Windows 7
- Sélectionnez Ordinateur dans le menu Démarrer.
- Choisissez Propriétés du système dans le menu contextuel.
- Cliquez sur Paramètres système avancés -> onglet Avancé
- Cliquez sur Variables d'environnement, sous Variables système, recherchez PATH, puis cliquez dessus.
- Dans les fenêtres d'édition, modifiez PATH en ajoutant l'emplacement de la classe à la valeur de PATH. Si vous ne disposez pas de l'élément PATH, vous pouvez choisir d'ajouter une nouvelle variable et d'ajouter PATH comme nom et l'emplacement de la classe comme valeur.
- Rouvrez la fenêtre d'invite de commande et exécutez votre code Java.
Accédez à Panneau de configuration\Tous les éléments du panneau de configuration\Comptes d'utilisateurs à l'aide de l'Explorateur (et non d'Internet Explorer!).
ou
Changer mes variables d'environnement
Nouveau ...
(si vous ne disposez pas des autorisations suffisantes pour l'ajouter dans la section Variables système, ajoutez-le à la section Variables utilisateur)
Ajoutez Java_HOME en tant que nom de variable et l'emplacement du JDK en tant que valeur de variable> OK
Test:
set Java_HOME
Java_HOME=C:\Program Files\Java\jdk1.8.0_60
goto Mycomputer (Ce PC) -> rightclick -> sélectionner les propriétés -> Paramètres système avancés -> variables d’environnement-> dans variables système cliquez sur le bouton "Nouvea" et écrivez - Java_HOME dans nom de variable et le chemin C:\Program Files\Java\jdk1.8.0_131 où jdk est présent dans la variable value-> cliquez sur ok.
fermez et rouvrez la commande Invite après avoir défini Java_HOME. Parfois, les modifications ne reflètent pas la cmd ouverte avant la configuration de Java_HOME.
vous pouvez également définir Java_HOME via le terminal lui-même: SET Java_HOME = "C:\Fichiers de programme (x86)\Java\jdk1.8.0_131"
Nous devons faire une distinction entre les deux variables d’environnement discutées ici de manière interchangeable. L'un est la variable Java_HOME. L'autre est la variable Path. Tout processus faisant référence à la variable Java_HOME recherche le chemin de recherche du JDK, pas le JRE. L'utilisation de la variable Java_HOME n'est pas destinée au compilateur Java. Le compilateur est conscient de son propre emplacement. La variable est destinée à un autre logiciel pour localiser plus facilement le compilateur. Cette variable est généralement utilisée par le logiciel IDE afin de compiler et de construire des applications à partir du code source Java. En revanche, l'interpréteur Windows CMD et de nombreux autres logiciels, qu'ils soient propriétaires ou non, font référence à la variable Path, pas à la variable Java_HOME.
Cas d'utilisation 1: compilation à partir de CMD
Ainsi, par exemple, si vous n'utilisez aucun logiciel IDE et que vous souhaitez simplement pouvoir compiler à partir du CMD, indépendamment de votre répertoire de travail actuel, vous souhaitez définir correctement la variable Path. . Dans votre cas, vous n'avez même pas besoin de la variable Java_HOME. Parce que CMD utilise Path, pas Java_HOME pour localiser le compilateur Java.
Cas d'utilisation 2: compilation à partir de l'IDE
Cependant, si vous utilisez un logiciel IDE, vous devez tout d'abord consulter la documentation. Il peut être nécessaire de définir Java_HOME, mais un autre nom de variable peut également être utilisé dans le même but. La norme de facto au fil des ans a été Java_HOME, mais cela n’est peut-être pas toujours le cas.
Cas d'utilisation 3: compilation à partir de IDE et de CMD
Si, outre le logiciel IDE, vous souhaitez également pouvoir compiler à partir du CMD, indépendamment de votre répertoire de travail actuel, ajoutez () à la variable Java_HOME, vous devrez peut-être également ajouter le chemin de recherche JDK à la variable Path.
Java_HOME vs. Path
Si votre problème concerne la compilation de Java, vous souhaitez vérifier la variable Java_HOME et le chemin (le cas échéant). Si votre problème concerne l'exécution d'applications Java, vous souhaitez vérifier votre variable Path.
La variable de chemin est utilisée universellement sur tous les systèmes d'exploitation. Comme il est défini par le système et que c'est la variable par défaut utilisée pour localiser le JRE, il n'y a presque jamais de problème pour exécuter les applications Java. Surtout pas sous Windows, où les installateurs de logiciels mettent tout en place pour vous. Mais si vous installez manuellement, la solution la plus sûre consiste peut-être à ignorer la variable Java_HOME et à utiliser la variable Path pour tout, à la fois pour JDK et JRE. Toute version récente d'un logiciel IDE devrait être capable de la récupérer et de l'utiliser.
Liens symboliques
Les liens symboliques peuvent fournir un autre moyen de référencer le chemin de recherche du JDK en combinant l'une des variables d'environnement existantes.
Je ne suis pas sûr des versions précédentes des versions JDK/JRE d’Oracle/Sun, mais au moins le programme d’installation de jdk1.8.0_74 ajoute le chemin de recherche C:\ProgramData\Oracle\Java\javapath
à la variable Path, et il le met au début de la valeur de la chaîne. Ce répertoire contient des liens symboliques vers Java.exe, javaw.exe et javaws.exe dans le répertoire JRE.
Donc, au moins avec le JDK Java 8, et vraisemblablement le JRE Java 8 autonome, aucune configuration de variable d'environnement ne doit être effectuée pour le JRE. Tant que vous utilisez le package d'installation pour le configurer. Cependant, il peut y avoir des différences sur votre installation Windows. Notez que le JRE Oracle est fourni avec le JDK.
Si vous constatez que votre configuration JDK Java utilise la mauvaise version du compilateur, ou si elle semble fonctionner par magie, sans être explicitement définie ainsi (sans lancer de sort), vous risquez alors de lien symbolique quelque part dans vos variables d'environnement. Donc, vous voudrez peut-être vérifier le lien symbolique.
Lorsque vous ajoutez votre répertoire Java à votre variable PATH
, vous souhaiterez peut-être le mettre au début. Le problème, c'est que placer le répertoire Java à la fin du fichier PATH
ne fonctionnerait pas. Après vérification, j'ai trouvé Java.exe
dans mon répertoire Windows\System32
et il semble que le premier gagne, lorsqu'il y a plusieurs fichiers du même nom dans votre PATH
...
Dans Eclipse: Window->Preferences->Java->Installed JREs
Utilisez la fonction de recherche pour vous assurer que votre dernière installation Java est répertoriée. puis assurez-vous que c'est celui qui est coché. Cela devrait être un JDK, pas un JRE.
Exécutez Eclipse en tant qu'administrateur.
Cela a résolu mon problème. Je cherche encore la logique derrière tout ça.
si vous n'avez pas redémarré votre ordinateur après l'installation de jdk, redémarrez-le.
si vous voulez faire un portable Java et définir le chemin avant d'utiliser Java, créez simplement un lot fichier j'ai expliqué ci-dessous.
si vous souhaitez exécuter ce fichier de commandes au démarrage de votre ordinateur, il suffit de placer votre raccourci de fichier de commandes dans le dossier de démarrage. Le dossier de démarrage de Windows 7 est "C:\Utilisateurs\utilisateur\AppData\Roaming\Microsoft\Windows\Menu Démarrer\Programmes\Démarrage"
faire un fichier batch comme ceci:
set Java_Home=C:\Program Files\Java\jdk1.8.0_11
set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_11\bin
remarque: Java_home
et path
sont des variables. vous pouvez créer n'importe quelle variable à votre guise. par exemple set amir=good_boy
et vous pouvez voir amir par %amir%
ou vous pouvez voir Java_home par %Java_home%
Après des heures de travail autour de la plupart des solutions ici, le problème a été résolu pour moi simplement en installant JDK 32 bits.
Vous voudrez peut-être consulter le dossier Windows/System32 pour rechercher les fichiers suivants: - Java.exe - javaw.exe - javaws.exe
Parce que la variable path contient ces fichiers, vous pouvez avoir mal à la tête en essayant de comprendre pourquoi la version Java ou javac -version ne cesse de pointer vers l'ancien Java_HOME: renommez ces fichiers, supprimez l'extension avec un trait de soulignement, par exemple. Ensuite, il vous suffira de créer la variable Java_HOME, de l'ajouter à la variable de chemin d'accès (par exemple,% Java_HOME%) et d'ajouter la particule "\ bin". Ainsi, vous ne devez modifier que la variable Java_HOME pointant vers un JRE ou un JDK différent et disposer de plusieurs installations de Java simplement en définissant Java_HOME.
Cela signifie également qu'il est préférable d'installer Java manuellement, sans programme d'installation, pour pouvoir jouer avec.