2010-12-07 5 views
17

Я пытаюсь использовать муравей в среде vista 64 для создания некоторых файлов docbook/xml.Ant + Vista 64: «Не удалось найти tools.jar» (jre/jdk conflict?)

Однако я не могу разрешить это сообщение об ошибке. У кого-нибудь есть предложения?

C: \ Users \ Robert Admin> ant Невозможно найти tools.jar. Ожидалось найти его в C: \ Program Files \ Java \ jre6 \ li b \ tools.jar Buildfile: build.xml не существует! Сбой сборки

Похоже, я вижу, что это сообщение tools.jar является результатом того, что муравьи не могут найти jdk. На самом деле, C: \ Program Files \ Java \ jre6 \ li b \ tools.jar - это JRE, установленный с другой программой (я предполагаю). Tools.jar находится здесь: C: \ Program Files \ Java \ jdk1.6.0_22 \ Lib

Я не могу сказать Ant, чтобы посмотреть на пути JDK, только путь JRE, который уже был там , (Судя по документации Ant, кажется, что JRE недостаточно).

C:\Users\Robert Admin>echo %JAVA_HOME% 

C:\Program Files\Java\jdk1.6.0_22\bin 

C:\Users\Robert Admin>ant 

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li 
b\tools.jar 
Buildfile: build.xml does not exist! 
Build failed 

C:\Users\Robert Admin>echo %ANT_HOME% 

I:\My Documents\1latest\ant  
C:\Users\Robert Admin>where java 

C:\Windows\System32\java.exe 
C:\Program Files (x86)\Java\jre6\bin\java.exe 
C:\Program Files\Java\jdk1.6.0_22\bin\java.exe 

C:\Users\Robert Admin>java -version 
java version "1.6.0_22" 
Java(TM) SE Runtime Environment (build 1.6.0_22-b04) 
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode) 

Update # 1. Я попытался удалить 64-битный jdk и установить 32-битный jdk. Результат:

C:\Users\Robert Admin>java -version 
java version "1.6.0_22" 
Java(TM) SE Runtime Environment (build 1.6.0_22-b04) 
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode) 

C:\Users\Robert Admin>ant 
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li 
b\tools.jar 
Buildfile: build.xml does not exist! 
Build failed 
C:\Users\Robert Admin>echo %JAVA_HOME% 
C:\Program Files (x86)\Java\jdk1.6.0_22\bin 
+0

Просто создайте `jdk ... \ bin` в` Path` перед `jre6 \ bin`. – khachik 2010-12-07 15:48:10

+0

Я удалил ссылку на jre6 \ bin в системной переменной PATH. В моей переменной системы пути есть только одна ссылка java. Те же результаты. Обратите внимание, что QTJAVA и CLASSPATH имеют ссылку:; C: \ Program Files (x86) \ Java \ jre6 \ lib \ ext \ QTJava.zip, но это похоже на то, что не конфликтует. – idiotprogrammer 2010-12-07 17:24:35

ответ

6

Я имел эту проблему на 64-битной Windows 7 машины и Ant 1.8 0,2. Решение заключалось в том, чтобы использовать средства администрирования, указанные в #bigfix, для установки переменных среды. Следуйте инструкциям по установке Ant для Windows. Но не устанавливайте путь как% ANT_HOME% \ bin. Вместо этого используйте явный путь, такой как C: \ jdk-1.5.0.05 \ bin.

Мой первый тест не удался, потому что мое командное окно уже было открыто и использовало старые env vars. Закройте его и откройте новый. Затем попробуйте тест. Это сработало для меня.

2

Почему бы вам не попробовать 32-битную версию. может возникнуть проблема между двумя версиями, которые вы установили: 32 и 64. Попробуйте 32-битную версию, чтобы ур не видел 64-разрядных версий.

он должен исправить проблему ур.

+0

Пробовал, что. Не имеет значения (хорошая идея, хотя). – idiotprogrammer 2010-12-07 16:52:22

+0

спасибо. Мне пришлось удалить/переустановить с помощью разных установщиков. Я думал, что он должен был установить тот или другой, и это не так. Но я вернулся и перезагрузил его, и установщик работал. У меня нет конкретных do x, y, z, и он будет работать, но из вашего сообщения видно, что при запуске ANT он не находит jdk по мере необходимости. Удачи. – phillip 2010-12-07 21:39:25

6

Я установил это, создавая JAVA_HOME в компьютерно> свойства-> Env переменные Ручная настройка в командной строке не работает -b

20

У меня была такая же проблема, потому что мой путь JAVA_HOME был установлен неправильно (точно так же, как OP). Он был установлен в корзину jdk.

Таким образом, было установлено значение: C: \ Program Files (x86) \ Java \ jdk1.6.0_25 \ Bin

Когда он должен был быть установлен: C: \ Program Files (x86) \ Java \ jdk1.6.0_25

Обновление этой переменной окружения исправлено для меня.

4

Я знаю, что эта нить какая-то старая .. но я столкнулся с ней только сейчас .. Что я сделал, это скопировать этот tools.jar в папку jre/lib и отлично работать.

Я в среде Windows 7, JDK 1.7 и пытаюсь установить ant 1.8.2

Благодаря

6

Я решил эту проблему путем создания системной переменной JAVA_HOME в C: \ Program Files \ Java \ jdk1.6.0_25. Не помещайте после нее двоеточие. Прежде всего, я поставил полуколону, и произошла ошибка. Я удалил полутень, и это сработало.

3

Возможно, вы используете java в каталоге C: \ Windows \ system32, а не в установленном JDK. Я установил переменную окружения JAVA_HOME и поместил% JAVA_HOME% \ bin в начале моего пути и проблемы, когда прочь.

1

Я имел этот вопрос с окружающей среды, как:

  • Windows 7
  • Java версии jdk1.6.0_33
  • апач-муравей-1.6.5

Я получаю муравей построить сообщение «Unable to locate tools.jar. Expected to find it in E:\Java\jre6\lib\tools.jar», где мой JDK был установлен по адресу E:\Java\jdk1.6.0_33\ и JRE по адресу E:\Java\jre6\

Причина:

Моя проблема заключалась в том, что у меня ANT_HOME был установлен дважды в переменной PATH. Переменная окружения в двух разных местах (означает некоторые другие переменные между ними).

Решение:

Я удалил ANT_HOME переменную, которая указала на неправильное место и все работало хорошо со мной.

5

Все что вам нужно, это установить путь JAVA_HOME в вашей среде. В Windows 7 перейдите в раздел «Свойства системы -> Дополнительно -> Переменные среды» и добавьте JAVA_HOME. Значение в моем случае было:

C: \ Program Files \ Java \ jdk1.7.0_07

Это решило проблему для меня. Эта переменная указывает Ant на правильное местоположение Java.

0

Я столкнулся с той же проблемой ant setup. Акция так же, как

Unable to locate tools.jar`. Expected to find it in C:\Program Files\Java\jre6\li b\tools.jar 
Buildfile: build.xml does not exist! Build failed. 

Я удалил все JRE путь в %PATH% среде и добавьте Jdk бен путь. Наконец, я печатаю %ANT_PATH%/bin вместо %ANT_PATH%\bin. Оно работает.

Может помочь.

0

У меня такая же проблема. Успешно решена.

  1. Проверьте, что о системе см Дженкинс: your_jenkins_url/Systeminfo
  2. Посмотрите на "JAVA_HOME" переменной в разделе "Переменные среды". В моем случае я не смог его найти.

Так что, если вы не видите эту переменную, это означает, что ваша переменная не была настроена для пользователя, который работает под управлением jenkins. Вам нужно поставить «JAVA_HOME» в раздел «системные переменные» переменных среды, а не «пользовательские переменные».

перезапустите jenkins после этого и ваша проблема должна быть исправлена.

0

я получаю «C: \ Program» не распознается как внутренней или внешней командой, исполняемой программой или ошибка файла пакетной, при запуске% ANT_HOME% \ Bin \ ant.bat

я обнаружил, что я необходимо было обернуть команду в двойные кавычки, чтобы получить правильное экранирование в строке пути.

FIX: "% ANT_HOME% \ Bin \ ant.bat" --NOT--% ANT_HOME% \ ant.bat

Надежда, что помогает бен \!

0

Спасибо, это также работает на Windows 8, x64, используя Java x64.

Я не хотел добавлять все эти нежелательные файлы к своим системным настройкам, поэтому я создал командный файл, который я запустил, прежде чем захочу использовать Android SDK. Здесь

set ANDROID_SDK_PT=C:\Program Files\eclipse\sdk\platform-tools 
    set ANDROID_SDK_TOOLS=C:\Program Files\eclipse\sdk\tools 
    set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_25 
    set ANT_HOME=C:\apache-ant 
    set PATH=%PATH%;%ANDROID_SDK_PT%;%ANDROID_SDK_TOOLS%;%JAVA_HOME%;%ANT_HOME%\bin 
0

Я собираюсь добавить еще один вопрос, который у меня был с этим.

Кстати, ответ здесь сработал и для меня. Я должен был указать мой каталог java на конкретную версию SDK. Большое спасибо.

Но я собираюсь добавить, что мне пришлось установить SDK в качестве администратора или он не извлекал tools.jar. Я нашел этот ответ в другом месте, и я надеюсь, что это поможет кому-то повторить его здесь.

Смежные вопросы