48 votes

"Impossible de localiser tools.jar" lors de l'exécution de ant

En exécutant ant, j'obtiens le message suivant :

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

J'ai réglé JAVA_HOME sur C:\Program Files\Java\jdk1.7.0_02 PATH comprend C:\Program Files (x86)\Java\jdk1.7.0_02\bin , CLASSPATH comprend C:\Program Files (x86)\Java\jdk1.7.0_02 et ANT_HOME est défini comme suit C:\ant .

Il semble que ant ignore tous ces paramètres et cherche le tools.jar ailleurs. Il n'y a aucune variable d'environnement qui pointe vers le chemin de jre6. Une idée de la raison ?

36voto

Jayan Points 7171

Il y a deux répertoires qui ressemblent à JDK.

  C:\Program Files\Java\jdk1.7.0_02
  C:\Program Files (x86)\Java\jdk1.7.0_02\

Cela peut être dû au fait que le JDK est installé à la fois en 64 bits et en 32 bits ? Quoi qu'il en soit, le java.exe vu par ant.bat devrait provenir du JDK. Si le JRE java.exe vient en premier dans le chemin, il sera utilisé pour deviner l'emplacement du JDK.

Mettre ' C:\Program Fichiers (x86) \Java\jdk1.7.0_02\bin ou C:\Program Fichiers \Java\jdk1.7.0_02 comme premier argument dans le chemin.

Autres étapes :

Vous pouvez prendre la sortie de ant -diagnostics et rechercher les clés intéressantes. (en supposant un JDK Sun/Oracle).

 java.class.path 
 java.library.path
 sun.boot.library.path

(dans mon cas tools.jar apparaît dans java.class.path)

11voto

Raj Points 31

J'avais également le même problème. J'ai donc supprimé le chemin JDK à la fin et je l'ai placé au début, avant tous les chemins Système ou Windows 32.

Avant, c'était comme ça :

C:\Windows\system32 ; C:\Windows ; C:\Windows\System32\Wbem ; C:\Windows\System32\WindowsPowerShell\v1.0\ ; C:\Program Fichiers \Microsoft SQL Server \100\Tools\Binn\ ; C:\Program Fichiers \Microsoft SQL Server \100\DTS\Binn\ ; C:\Program Fichiers \Microsoft SQL Server \100\Tools\Binn\VSShell\Common7\IDE\ ; C:\Users\Rajkaran\AppData\Local\Smartbar\Application\ ; C:\Users\Rajkaran\AppData\Local\Smartbar\Application\ ; C:\Program Fichiers \doxygen\bin ; %JAVA_HOME \bin ;%ANT_HOME \bin

Alors je l'ai fait comme ça :

%JAVA_HOME \bin ; C:\Windows\system32 ; C:\Windows ; C:\Windows\System32\Wbem ; C:\Windows\System32\WindowsPowerShell\v1.0\ ; C:\Program Fichiers \Microsoft SQL Server \100\Tools\Binn\ ; C:\Program Fichiers \Microsoft SQL Server \100\DTS\Binn\ ; C:\Program Fichiers \Microsoft SQL Server \100\Tools\Binn\VSShell\Common7\IDE\ ; C:\Users\Rajkaran\AppData\Local\Smartbar\Application\ ; C:\Users\Rajkaran\AppData\Local\Smartbar\Application\ ; C:\Program Fichiers \doxygen\bin ;%ANT_HOME \bin

4voto

Mads Hansen Points 24537

L'ordre des éléments dans le PATH est important. S'il y a plusieurs entrées pour diverses installations de java, la première dans votre PATH sera utilisée.

J'ai eu des problèmes similaires après l'installation d'un produit, comme Oracle, qui met c'est JRE au début du PATH.

Assurez-vous que le JDK que vous voulez charger est la première entrée de votre PATH (ou au moins qu'il apparaît avant C:\Program Files\Java\jre6\bin apparaît).

3voto

Louis Morda Points 366

Assurez-vous que vous utilisez le dossier racine du JDK. N'ajoutez pas " \lib "à la fin du chemin, là où tools.jar est physiquement situé. Il m'a fallu une heure pour comprendre cela. De plus, ce post vous aidera à montrer où Ant cherche tools.jar :

Pourquoi ANT me dit que JAVA_HOME est incorrect alors qu'il ne l'est pas ?

2voto

Ondrej Kvasnovsky Points 1223
  1. Essayez de le vérifier une nouvelle fois en suivant ce tutoriel : http://vietpad.sourceforge.net/javaonwindows.html

  2. Essayez de redémarrer votre système.

  3. Si rien, essayez d'exécuter "cmd" et tapez-y "java", est-ce que cela affiche quelque chose ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X