Не удалось найти tools.jar

Я строил проект на Java.

У меня есть эта ошибка:

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

Я установил JDK и папку: C:\Program Files\Java\jre6\lib находится в моей системе, но файл tools.jar не существует.

Ответ 1

Да, вы загрузили и установили Java Runtime Environment (JRE) вместо Java Development Kit (JDK). У последнего есть tools.jar, java.exe, javac.exe и т.д.

Ответ 2

Если это все еще проблема для всех, у меня есть немного разъяснений по предыдущим ответам. Я столкнулся с этой проблемой, используя ant только с установленным JDK. Хотя, установщик JDK дал мне такую ​​структуру каталогов, как это:

 Directory of C:\Program Files\Java

05/08/2012  09:43 AM    <DIR>          .
05/08/2012  09:43 AM    <DIR>          ..
05/08/2012  09:46 AM    <DIR>          jdk1.7.0_04
05/08/2012  09:19 AM    <DIR>          jre6
05/08/2012  09:44 AM    <DIR>          jre7
               0 File(s)              0 bytes

и когда я запустил ant, он жаловался на то, что не найдет tools.jar под подкаталогом jre7. Только когда я set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04", ошибка исчезла.

Ответ 3

  • Установите Java SDK.

  • Добавьте переменную системной среды под названием JAVA_HOME со значением местоположения JDK.
    Перейдите в Панель управления\Система и Безопасность\Система. Расширенные системные настройки, переменные среды, системные переменные, новые... Пример:
    Имя переменной: JAVA_HOME
    Значение переменной: C:\Program Files\Java\jdk1.7.0_21

  • Закройте/снова откройте окно CMD, чтобы новая переменная вступила в силу, прежде чем пытаться повторно запустить команду ant.

Ответ 4

У меня была та же проблема, и копирование C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar в C:\Program Files\Java\jre6\lib\ext работало для меня

Ответ 5

Установите переменную окружения JAVA_HOME, чтобы указать на C:\Program Files\Java\jdk1.7.0_02.

Ответ 6

Если вы находитесь в Linux, вы можете решить эту проблему, установив java в систему:

sudo apt-get install openjdk-7-jdk openjdk-7-jre

Ответ 7

Нет, согласно вашей структуре каталогов, вы установили JRE, а не JDK. Там разница.

C:\Program Files\Java\jre6\lib
                      ^^^^

Это должно быть что-то вроде:

C:\Program Files\Java\jdk1.6.0_24

Ответ 8

Не тратьте слишком много времени на поиск tools.jar. Если вы получите такую ​​ошибку, не расстраивайтесь.

Если у вас уже есть java JDK 1.5, перейдите в папку lib, и там будет tools.jar. Скопируйте и вставьте его в папку ant bin, затем попробуйте использовать команду ant -version.

Вы должны увидеть ожидаемый результат.

Ответ 9

У меня была такая же проблема на Linux-машине. Сначала я был очень расстроен, потому что я установил JDK и JRE. Я использую версии 1.6, 1.7 и 1.8 одновременно, и я много играл с альтернативами, чтобы все было правильно настроено.

Проблема была довольно глупой для решения, но противоречащей интуиции. В то время как я использовал правильный JDK, я обратил внимание на путь инструментов jar maven, которым жаловался - он ожидал, что он будет

$JAVA_HOME\..\lib\tools.jar

Переменная $JAVA_HOME указала непосредственно на мою папку jdk (/usr/local/java, которая также была правильной записью $PATH и альтернативной символической ссылкой). Он фактически ищет папку lib вне каталога java, потому что:

$JAVA_HOME\..\lib\tools.jar

решит

/usr/local/lib/tools.jar

и это не допустимое местоположение.

Чтобы решить эту проблему, переменная $JAVA_HOME должна указывать на это местоположение /usr/local/java/jre (предполагая, что путь JDK равен /usr/local/java) - на самом деле существует папка jre внутри установочного каталога JDK, которая поставляется с каждым JDK. Эта новая настройка заставит maven посмотреть каталог JRE, который является частью JDK:

$JAVA_HOME\..\lib\tools

который теперь разрешает

/usr/local/java/jre/../lib/tools.jar

и, наконец, до

/usr/local/java/lib/tools.jar

где находится tools.jar.

Итак, даже вы действительно используете JDK вместо JRE, $JAVA_HOME должен указывать на JRE. Помните, что альтернатива ОС должна по-прежнему ссылаться на JDK.

Ответ 10

перейти к вашему пути jdk, где вы установили свой java

Например, на моем ПК JDK установлен в следующем пути

"C:\Program Files\Java\jdk1.7.0_17 \";

После перехода в папку lib, например, "C:\Program Files\Java\jdk1.7.0_17\lib"

в каталоге lib есть файл tool.jar

Скопируйте этот файл и пропустите его в lib forlder каталога jre7 например,

"C:\Program Files\Java\jre7\lib"

Ответ 11

У меня была такая же проблема даже после установки Java JDK и установки JAVA_HOME в ..\jdk1.6.0_45\bin.

Ant все еще пытается найти tools.jar в папке C:\Program Files\Java\jre6\lib.
Я исправил его, добавив переменную среды JAVACMD и установив путь для нее в java.exe в папке jdk.
В моем случае это было C:\Program Files\Java\jdk1.6.0_45\bin\java.exe

Ответ 12

В окне eclipse > предпочтения > Java > Установленный JRE я указал каталог в каталог jre в jdk 1.7, и я работал файл для меня например, C:\Program Files\Java\jdk1.7.0_71\jre

Ответ 13

У меня был мой JDK_path (C:\Program Files\Java\jdk1.7.0_79) в моем JAVA_HOME, а также в JDK_path\bin в моем PATH. Но все же мой ant использовал JRE вместо JDK.

Проблема заключалась в том, что я имел C:\ProgramData\Oracle\Java\javapath перед моим JDK_path в переменной PATH. Я просто переместил свой JDK_path перед оракулом, и проблема была решена.

Ответ 14

У вас может возникнуть аналогичная проблема на Ubuntu:

Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar

Проблема заключается в том, что JAVA_HOME установлен неправильно.

Итак, на Ubuntu 14.04 x64 с использованием Java8:

sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Ответ 15

Убедитесь, что в вашу переменную PATH добавлены как% JAVA_HOME%, так и% JAVA_HOME%/bin.

Все ответы о копировании tools.jar в правильное положение в лучшем случае - плохая идея.

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

Ответ 16

он был решен со мной в windows os, установив переменную JAVA_HOME перед запуском следующим образом:

установить JAVA_HOME = C:\Program Files\Java\jdk1.8.0_111

Ответ 17

Если вы установили JDK 9.0.1, у вас также будет эта проблема, поскольку tools.jar устарел. См. Документ миграции.

Ответ 18

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

если вы установили jdk, тогда

..Java/jdkx.x.x

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

C:\Program Files\Java\jdk1.6.0\lib\tools.jar

Ответ 19

Убедитесь, что ваш путь к классам установлен правильно и указывает на правильную версию установленного JDK. Кроме того, вы используете Open JDK? У меня была эта проблема до того, как я попытался перейти от открытого JDK к Suns JDK. Это является примером того, как эта проблема может быть исправлена.

Ответ 20

maven-compiler-plugin использует jdk, а не jre,  tools.jar находится в папке C:\Program Files\Java\jdk1.6.0\lib\tools.jar вы должны настроить проект JRE System Libary с помощью jdk, а не jar. Это самое простое решение.

Ответ 21

  • Щелкните правой кнопкой мыши на файле ant
  • Перейдите в раздел "Запуск от имени", затем нажмите "Ant Сборка..."
  • Перейдите на вкладку "JRE".
  • Выберите JDK, а не JRE

Ответ 22

Решая эту проблему, я просто скопировал файл tools.jar из C:\Program Files\Java\jre1.8.0_112\lib в C:\Program Files\Java\jdk1.8.0_112\lib, так что у меня есть два tools.jar вместо одного и проблема исчезла.

Ответ 23

Для меня какая работа: я загрузил старую версию Java 1.7

Я фактически установил свой JAVA_HOME из C:/программных файлов X86/Java, но после установки версии 1.7 у меня была другая Java в программных файлах /Java. И в этот момент я нашел здесь tools.jar. Затем я изменил этот новый путь и работал

Ответ 24

Я также столкнулся с той же ошибкой. Это было удалено после установки пути Java_Home к C:\Program Files\Java\jdk1.8.0_121. Пожалуйста, убедитесь, что bin не включен в путь, и после jdk1.8.0_121 после того, как вы определили% JAVA_HOME%\bin в переменной пути к системе, нет косой черты.

Ответ 25

Если вы находитесь в среде RHEL, имя пакета, содержащее tools.jar, заканчивается "openjdk-devel".

Ответ 26

Это решение для Windows: в компьютере> Расширенные системные настройки> Дополнительно> Переменные окружения..., добавьте это в Системные переменные:

enter image description here

Ответ 27

Я загрузил tools.jar, и после этого я скопировал его в путь в сообщении об ошибке.

C:\Program Files\Java\jdk-11.0.1\bin> вставьте здесь tools.jar

После этого я перезапустил Spring Tool Suit 4 и все работало. Когда я пытался исправить эту проблему, я создал новую переменную окружения: Control Panel/System/Advenced/Environmental variables/new Имя: JAVA_HOME Значение: C:\Program Files\Java\jdk-11.0.1 Но я не знаю, есть ли это необходимо.

Ответ 28

возможно, вы обновили JRE в ОС, и добавление добавило в "путь" переменных среды запись ".../Oracle/jer", которая перезаписывает ваш JAVA_HOME. попробуйте удалить его из "пути", оставив JAVA_HOME.

Ответ 29

Как уже упоминали многие, похоже, что вы ищете в своем инструменте JRE вместо JDK файл tools.jar.

Я также хотел бы отметить, что в последних версиях JDK больше нет файла tools.jar. Я скачал самый последний JDK на сегодняшний день (версия 12 JDK), и я не смог найти ни одного tools.jar. Мне пришлось загрузить версию 8 JDK (1.8.0) здесь https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, чтобы получить файл tools.jar. Я скачал эту версию, взял файл tools.jar и поместил его в папку lib моей последней версии.