Je construis un projet en Java.
J'ai cette erreur:
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
J'ai installé un JDK et le dossier: C:\Program Files\Java\jre6\lib
est dans mon système mais le fichier tools.jar
n'y est pas.
Oui, vous avez téléchargé et installé l'environnement d'exécution Java (JRE) au lieu du kit de développement Java (JDK). Ce dernier a les outils.jar, Java.exe, javac.exe, etc.
Si le problème persiste, j’ai besoin d’éclaircir les réponses précédentes. Je rencontrais ce même problème en utilisant ant avec seulement un JDK installé. Bien que l’installateur JDK m’ait donné une structure de répertoire comme celle-ci:
Directory of C:\Program Files\Java
05/08/2012 09:43 AM <DIR> .
05/08/2012 09:43 AM <DIR> ..
05/08/2012 09:46 AM <DIR> jdk1.7.0_04
05/08/2012 09:19 AM <DIR> jre6
05/08/2012 09:44 AM <DIR> jre7
0 File(s) 0 bytes
et quand j'ai couru ant, il s’est plaint de ne pas trouver tools.jar dans le sous-répertoire jre7. Ce n'est que je set "Java_HOME=C:\Program Files\Java\jdk1.7.0_04"
que l'erreur a disparu.
Installez le Java SDK .
Ajoutez une variable d'environnement système appelée Java_HOME avec la valeur d'emplacement JDK.
Ouvrez Panneau de configuration\Système et sécurité\Système. Paramètres système avancés, variables d’environnement, variables système, nouvelle ... Exemple:
Nom de la variable: Java_HOME
Valeur de la variable: C:\Program Files\Java\jdk1.7.0_21
Fermez/rouvrez votre fenêtre CMD afin que la nouvelle variable prenne effet avant de tenter de réexécuter la commande ant.
J'ai eu le même problème et copier C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar
vers C:\Program Files\Java\jre6\lib\ext
a fonctionné pour moi
Si vous êtes sous Linux, vous pouvez résoudre ce problème en installant Java sur le système:
Sudo apt-get install openjdk-7-jdk openjdk-7-jre
Définissez votre variable d'environnement Java_HOME
pour qu'elle pointe sur C:\Program Files\Java\jdk1.7.0_02
.
Non, selon votre structure de répertoire, vous avez installé un JRE, pas un JDK. Il y a une différence.
C:\Program Files\Java\jre6\lib
^^^^
Cela devrait être quelque chose comme:
C:\Program Files\Java\jdk1.6.0_24
Ne passez pas trop de temps à chercher tools.jar
. Si vous obtenez une telle erreur, ne vous fâchez pas.
Si vous avez déjà Java JDK 1.5, accédez à votre dossier lib
et le tools.jar
devrait y être disponible. Copiez-le et collez-le dans votre dossier ant bin
, puis essayez d'utiliser la commande ant -version
.
Vous devriez voir le résultat attendu.
J'ai eu le même problème sur une machine Linux. Au début, j’étais assez frustré car j’ai installé JDK et JRE. J'utilise simultanément les versions 1.6, 1.7 et 1.8 et j'ai beaucoup joué avec les alternatives pour que tout soit réglé correctement.
Le problème était assez stupide à résoudre, mais contre-intuitif. Pendant que j’utilisais le bon JDK, j’ai porté attention à la trajectoire des outils dont javait maven maven - elle s’attendait à ce qu’elle soit
$Java_HOME\..\lib\tools.jar
La variable $Java_HOME
a été directement dirigée vers mon dossier jdk
(/usr/local/Java
, qui était également la bonne entrée $PATH
et le lien sym alternatif). Il recherche en fait le dossier lib
outside le répertoire Java, car:
$Java_HOME\..\lib\tools.jar
va résoudre à
/usr/local/lib/tools.jar
et ce n'est pas un emplacement valide.
Pour résoudre ce problème, la variable $Java_HOME
doit à la place pointer vers cet emplacement /usr/local/Java/jre
(en supposant que le chemin du JDK est /usr/local/Java
) - il existe en fait un dossier jre
dans le répertoire d'installation du JDK, fourni avec chaque JDK. Avec cette nouvelle configuration, maven examinera le répertoire JRE, qui fait partie du JDK:
$Java_HOME\..\lib\tools
qui se résout maintenant à
/usr/local/Java/jre/../lib/tools.jar
et enfin à
/usr/local/Java/lib/tools.jar
c'est là que réside le tools.jar
.
Donc, même si vous utilisez effectivement le JDK au lieu du JRE, $ Java_HOME doit pointer sur le JRE. N'oubliez pas que le système d'exploitation alternatif doit toujours faire référence au JDK.
allez dans votre chemin jdk où vous avez installé votre Java
Par exemple, dans mon PC, JDK installé dans le chemin suivant
"C:\Program Files\Java\jdk1.7.0_17 \";
Ensuite, accédez au dossier lib, par exemple "C:\Program Files\Java\jdk1.7.0_17\lib".
dans le répertoire lib, il y a un fichier tool.jar
Copiez ce fichier et collez-le dans la bibliothèque forlder du répertoire jre7 Pour, par exemple.
"C:\Program Files\Java\jre7\lib"
J'avais mon chemin JDK_path (C:\Program Files\Java\jdk1.7.0_79
) dans mon Java_HOME
ainsi que le chemin JDK_path\bin dans ma PATH
. Mais, ma fourmi utilisait toujours le JRE au lieu de JDK.
Le problème était que j'avais C:\ProgramData\Oracle\Java\javapath
avant mon chemin JDK dans la variable PATH
. J'ai simplement déplacé mon chemin JDK avant celui Oracle et le problème a été résolu.
Vous pouvez faire face au même problème sur Ubuntu:
Embedded error: tools.jar not found: /usr/lib/jvm/Java-7-openjdk-AMD64/jre/../lib/tools.jar
Le problème est avec Java_HOME qui n'est pas défini correctement.
Donc, sur Ubuntu 14.04 x64 en utilisant Java8:
Sudo apt-get install openjdk-8-jdk openjdk-8-jre
export Java_HOME=/usr/lib/jvm/Java-8-openjdk-AMD64
J'ai eu le même problème même après l'installation de JDK Java et la définition de Java_HOME
dans le dossier ..\jdk1.6.0_45\bin
.
Ant tente toujours de trouver tools.jar
dans le dossier C:\Program Files\Java\jre6\lib
.
Je l'ai corrigé en ajoutant la variable d'environnement JAVACMD
et en lui attribuant le chemin d'accès à Java.exe
dans le dossier jdk
.
Dans mon cas, c’était C:\Program Files\Java\jdk1.6.0_45\bin\Java.exe
Dans la fenêtre Eclipse> préférences> Java> JRE installé, j'ai pointé le répertoire dans le répertoire jre du jdk 1.7 et j’ai travaillé pour moi.
cela a été résolu avec moi dans Windows OS en définissant la variable Java_HOME avant d'exécuter comme suit:
set Java_HOME = C:\Program Files\Java\jdk1.8.0_111
Si vous avez installé JDK 9.0.1, vous aurez également ce problème car le fichier tools.jar est obsolète. Voir document de migration .
Assurez-vous que les chemins% Java_HOME% et% Java_HOME%/bin sont ajoutés à votre variable PATH.
Toutes les réponses à propos de la copie de tools.jar dans la position correcte sont au mieux une mauvaise idée.
Assurez-vous que votre IDE puisse trouver ces pots de la manière pour laquelle ils ont été conçus et conçus.
J'étais également confronté à la même erreur . Cela a été supprimé après la définition du chemin Java_Home sur C:\Program Files\Java\jdk1.8.0_121 . Assurez-vous que bin n'est pas inclus dans le chemin et qu'aucune barre oblique n'y figure jdk1.8.0_121 après avoir défini% Java_HOME%\bin dans la variable de chemin système.
Si vous êtes dans un environnement RHEL, le nom du paquet contenant tools.jar se terminera par "openjdk-devel".
résoudre ce problème, j’ai simplement copié le fichier tools.jar de C:\Program Files\Java\jre1.8.0_112\lib dans C:\Program Files\Java\jdk1.8.0_112\lib afin d’avoir deux outils.jar fichiers au lieu d'un et le problème a disparu.
Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
si vous avez installé jdk alors
..Java/jdkx.x.x
dossier doit exister là-bas donc caler et donner le chemin complet comme
C:\Program Files\Java\jdk1.6.0\lib\tools.jar
Assurez-vous que votre chemin d'accès aux classes est défini correctement et qu'il pointe vers la version correcte du JDK que vous avez installée. De plus, utilisez-vous Open JDK? J'ai déjà eu ce problème après avoir essayé de passer du JDK ouvert au JDK Suns. This est un exemple de la façon dont ce problème pourrait être résolu.
maven-compiler-plugin utilise jdk, pas jre, tools.jar est dans C:\Program Files\Java\jdk1.6.0\lib\tools.jar Vous devez configurer le projet JRE System Libary avec jdk, pas jar. C'est la solution la plus simple.
Pour moi, ce qui fonctionne: j'ai téléchargé une ancienne version de Java 1.7
En fait, j'ai défini mon Java_HOME à partir de C:/fichiers de programme X86/Java MAIS après avoir installé la version 1.7, j'avais un autre Java dans les fichiers de programme/Java. Et à ce moment, j'ai trouvé le fichier tools.jar ici. Puis j'ai changé pour cette nouvelle voie et ça marche
vous avez peut-être mis à jour les JRE dans le système d’exploitation et l’ajout a ajouté dans le "chemin" des variables d’environnement une entrée ".../Oracle/jer" qui écrase votre Java_HOME . essayez de le supprimer de la " chemin "en quittant Java_HOME.
J'ai téléchargé tools.jar et après cela, je l'ai copié dans le chemin d'accès du message d'erreur.
C:\Program Files\Java\jdk-11.0.1\bin> collez ici tools.jar
Après cela, j'ai relancé Spring Tool Suit 4 et tout fonctionnait . Lorsque j'essayais de résoudre ce problème, j'ai créé une nouvelle variable d'environnement: : Java_HOME Valeur: C:\Program Files\Java\jdk-11.0.1 Mais je ne sais pas si cela est nécessaire.
Comme beaucoup de personnes l'ont mentionné, il semble que vous cherchiez dans le JRE au lieu du JDK pour le fichier tools.jar.
J'aimerais également mentionner que, dans les versions récentes du JDK, il n'y a plus de fichier tools.jar. J'ai téléchargé le JDK le plus récent à ce jour (version 12 du JDK) et je n'ai trouvé aucun outil.jar. Je devais télécharger la version 8 (1.8.0) de JDK ici https://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html pour obtenir le fichier tools.jar. J'ai téléchargé cette version, pris le fichier tools.jar et l'ai placé dans le dossier lib de ma version récente.