web-dev-qa-db-fra.com

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

Lorsque je lance ant, je reçois le message suivant:

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

J'ai Java_HOME défini sur C:\Program Files\Java\jdk1.7.0_02, PATH inclut 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 sur C:\ant.

Il semble que ant ignore tous ces paramètres et recherche le fichier tools.jar ailleurs. Aucune variable d’environnement qui pointe vers le chemin jre6. Des idées pourquoi?

48
john

Il existe deux répertoires qui ressemblent à JDK.

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

Cela est peut-être dû au JDK 64 bits et 32 ​​bits installé? Quel que soit le cas, le Java.exe vu par ant.bat devrait du JDK. Si le JRE est Java.exe vient en premier dans le chemin, il sera utilisé pour deviner l'emplacement du JDK.

Placez 'C:\Program Files (x86)\Java\jdk1.7.0_02\bin' ou 'C:\Program Files\Java\jdk1.7.0_02' comme premier argument du chemin.

Prochaines étapes:

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

 Java.class.path 
 Java.library.path
 Sun.boot.library.path

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

36
Jayan

J'avais également le même problème. J'ai donc simplement supprimé le chemin JDK de la fin et l'ai mis au début, même 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:\Programmes\Microsoft SQL Server\100\Tools\Binn \; C:\Programmes\Microsoft SQL Server\100\DTS\Binn \; C:\Programmes\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE \; C:\Utilisateurs\Rajkaran\AppData\Local\Smartbar\Application \; C:\Utilisateurs\Rajkaran\AppData\Local\Smartbar\Application \; C:\Fichiers de programme\doxygen\bin; % Java_HOME%\bin;% ANT_HOME% \poubelle

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:\Programmes\Microsoft SQL Server\100\Outils\Binn \; C:\Programmes\Microsoft SQL Server\100\DTS\Binn \; C:\Programmes\Microsoft SQL Server\100\Outils\Binn\VSShell\Common7\IDE \; C:\Utilisateurs\Rajkaran\AppData\Local\Smartbar\Application \; C:\Utilisateurs\Rajkaran\AppData\Local\Smartbar\Application \; C:\Fichiers de programme\doxygen\bin;% ANT_HOME% \poubelle

11
Raj

L'ordre des éléments dans PATH est important. S'il existe plusieurs entrées pour diverses Java installations, la première de 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’elle apparaît avant que C:\Program Files\Java\jre6\bin Ne s'affiche).

4
Mads Hansen

Assurez-vous que vous utilisez le dossier racine du JDK. N'ajoutez pas "\ lib" à la fin du chemin, où tools.jar est physiquement situé. Il m'a fallu une heure pour le comprendre. En outre, cet article vous aidera à vous indiquer où Ant cherche tools.jar:

Pourquoi ANT me dit que Java_HOME est faux alors que ce n'est pas le cas?

3
Lou Morda
  1. Essayez de vérifier une fois de plus selon ce tutoriel: http://vietpad.sourceforge.net/javaonwindows.html

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

  3. Si rien ne fonctionne, essayez de lancer "cmd" et tapez-y "Java", cela affiche-t-il quelque chose?

2
Ondrej Kvasnovsky