"Невозможно найти 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_02
PATH включает 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 не прав, когда это не так?
Попробуйте проверить это еще раз в соответствии с этим руководством: http://vietpad.sourceforge.net/javaonwindows.html
Попробуйте перезагрузить вашу систему.
Если ничего, попробуйте запустить "cmd" и набрать там "java", он что-нибудь печатает?