"Невозможно найти tools.jar" при запуске ant

Когда я запускаю ant, я получаю следующее сообщение:

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

Я установил JAVA_HOME на C:\Program Files\Java\jdk1.7.0_02PATH включает C:\Program Files (x86)\Java\jdk1.7.0_02\bin, CLASSPATH включает в себя C:\Program Files (x86)\Java\jdk1.7.0_02и ANT_HOME установлен в C:\ant,

Кажется, что ant игнорирует все эти настройки и ищет tools.jar где-то еще. Нет переменных окружения, которые указывают на путь jre6. Есть идеи почему?

5 ответов

Есть две директории, которые выглядят как JDK.

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

Это может быть связано как с 64-битным, так и с 32-битным JDK? Что бы ни случилось, java.exe увиденный ant.bat должен от JDK. Если JRE java.exe первым в пути, который будет использоваться для определения местоположения JDK.

Поместите 'C:\Program Files (x86)\Java\jdk1.7.0_02\bin' или 'C:\Program Files\Java\jdk1.7.0_02' в качестве первого аргумента в пути.

Дальнейшие шаги:

Вы можете взять вывод ant -diagnostics и искать интересные ключи. (при условии Sun / Oracle JDK).

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

(в моем случае tools.jar появляется в java.class.path)

У меня тоже была такая же проблема, поэтому я просто удалил путь JDK с конца и запустил его еще до всех путей System или Windows 32.

До этого было так:

C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; C: \ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \; C: \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ VSShell \ Common7 \ IDE \; C: \ Users \ Райкаран \AppData\Local\Smartbar\Application\;C:\Users\ Райкаран \ AppData \ Local \ Smartbar \ Application \; C: \ Program Files \ doxygen \ bin;% JAVA_HOME% \ bin;% ANT_HOME% \ bin

Итак, я сделал это так:

% JAVA_HOME% \ bin; C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; C: \ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \; C: \ Program Files \ 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 Files \ doxygen \ bin;% ANT_HOME% \ bin

Порядок пунктов в ПУТИ имеет значение. Если есть несколько записей для различных установок Java, будет использоваться первая в вашем PATH.

У меня были подобные проблемы после установки продукта, такого как Oracle, который помещает его в начало ПУТИ.

Убедитесь, что JDK, который вы хотите загрузить, является первой записью в вашей переменной PATH (или, по крайней мере, она появляется раньше). C:\Program Files\Java\jre6\bin появляется).

Убедитесь, что вы используете корневую папку JDK. Не добавляйте "\lib" в конец пути, где физически находится tools.jar. Мне потребовался час, чтобы понять это. Кроме того, этот пост поможет показать, где Ant ищет tools.jar:

Почему ANT говорит мне, что JAVA_HOME не прав, когда это не так?

  1. Попробуйте проверить это еще раз в соответствии с этим руководством: http://vietpad.sourceforge.net/javaonwindows.html

  2. Попробуйте перезагрузить вашу систему.

  3. Если ничего, попробуйте запустить "cmd" и набрать там "java", он что-нибудь печатает?

Другие вопросы по тегам