"Не удается найти 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. Любые идеи, почему?
Ответы
Ответ 1
Существует два каталога, которые выглядят как 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)
Ответ 2
У меня также была такая же проблема. Поэтому я просто удалил путь 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\Инструменты\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; % 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
Ответ 3
Порядок элементов в PATH. Если для разных java-установок имеется несколько записей, будет использоваться первый в вашем PATH.
У меня возникли аналогичные проблемы после установки продукта, такого как Oracle, который помещает его в JRE в начале PATH.
Убедитесь, что JDK, который вы хотите загрузить, является первой записью в вашей PATH (или, по крайней мере, она появляется до появления C:\Program Files\Java\jre6\bin
).
Ответ 4
Ответ 5
Убедитесь, что вы используете корневую папку JDK. Не добавляйте "\ lib" в конец пути, где tools.jar физически находится. Мне потребовался час, чтобы понять, что он. Кроме того, этот пост поможет вам показать, где Ant ищет tools.jar:
Почему Ant говорит мне, что JAVA_HOME ошибочен, если это не так?