Я будую проект на Яві.
У мене є ця помилка:
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
немає.
Я будую проект на Яві.
У мене є ця помилка:
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
немає.
Відповіді:
Так, ви завантажили та встановили Java Runtime Environment (JRE) замість Java Development Kit (JDK). Останній має інструменти.jar, java.exe, javac.exe тощо.
# apt-get install default-jdk
і помилка зникає.
JAVA_HOME
встановити jre
всередину jdk
замість jdk
себе.
Якщо це все ще залишається проблемою для когось, я маю трохи роз’яснень щодо попередніх відповідей. Я зіткнувся з цим самим питанням, використовуючи мурашник, встановлений лише 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
і коли я забігав мурашник, він скаржився на те, що не знаходив tools.jar під підкаталогом jre7. Тільки тоді, коли я set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"
помилилася, помилка не стала.
Встановіть Java SDK .
Додайте змінну системного середовища під назвою JAVA_HOME зі значенням розташування JDK.
Перейдіть до Панелі управління \ Система та безпека \ Система. Розширені налаштування системи, змінні середовища, системні змінні, нові ... Приклад:
Ім'я змінної: JAVA_HOME
Значення змінної: C: \ Файли програми \ Java \ jdk1.7.0_21
Закрийте / повторно відкрийте вікно CMD, щоб нова змінна набула чинності перед тим, як спробувати запустити команду ant.
PATH
з /bin
, JAVA_HOME
без /bin
У мене була така ж проблема і копіювання C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar
в C:\Program Files\Java\jre6\lib\ext
працював для мене
Ні, відповідно до вашої структури каталогу, ви встановили JRE, а не JDK. Є різниця.
C:\Program Files\Java\jre6\lib
^^^^
Це має бути щось на кшталт:
C:\Program Files\Java\jdk1.6.0_24
Якщо ви встановили JDK 9.0.1, ви також матимете цю проблему, оскільки інструменти.jar застаріли. Див. Документ про міграцію .
Не витрачайте занадто багато часу на пошуки tools.jar
. Якщо ви отримаєте таку помилку, не засмучуйтесь.
Якщо у вас вже є Java JDK 1.5, перейдіть до своєї lib
папки, і там tools.jar
має бути доступний. Скопіюйте та вставте його у bin
папку мурашки , а потім спробуйте скористатися командоюant -version
.
Ви повинні побачити очікуваний результат.
У мене була така ж проблема на машині Linux. Спочатку я був дуже розчарований, бо встановив і JDK, і JRE. Я використовую версії 1.6, 1.7 і 1.8 одночасно, і я багато грав з альтернативами, щоб все було встановлено правильно.
Проблему було досить нерозумно вирішити, але все-таки протиінтуїтивно зрозуміло. Поки я користувався правильним JDK, я звернув увагу на шлях інструментів, на які скаржився Джевен, - він очікував, що це буде
$JAVA_HOME\..\lib\tools.jar
$JAVA_HOME
Змінний прямо вказав на мою jdk
папку ( /usr/local/java
яка також була правильна $PATH
запис і альтернативна посилання SYM). Він фактично шукає 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.
перейдіть до свого jdk шляху, де ви встановили свою Java
Наприклад, на моєму ПК JDK встановлений наступним шляхом
"C: \ програмні файли \ Java \ jdk1.7.0_17 \";
Після перейдіть до папки lib, наприклад "C: \ Program Files \ Java \ jdk1.7.0_17 \ lib"
в каталозі lib є файл tool.jar
Скопіюйте цей файл і вставте його в каталог lib forlder з каталогу jre7, наприклад
"C: \ програмні файли \ Java \ jre7 \ lib"
У мене була така ж проблема навіть після встановлення Java JDK та встановлення JAVA_HOME
в ..\jdk1.6.0_45\bin
папку.
Мураха все ще намагається знайти tools.jar
в C:\Program Files\Java\jre6\lib
папці.
Я виправив це, додавши JAVACMD
змінну середовища і встановив шлях до неї java.exe
в jdk
папку.
У моєму випадку це булоC:\Program Files\Java\jdk1.6.0_45\bin\java.exe
У 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
це вирішено зі мною в Windows OS, встановивши змінну JAVA_HOME перед запуском наступним чином:
встановити JAVA_HOME = C: \ програмні файли \ Java \ jdk1.8.0_111
Як згадувало багато людей, схоже, ви шукаєте у своєму JRE замість JDK для файлу tools.jar.
Я також хотів би зазначити, що в останніх версіях JDK більше немає файлу tools.jar. Я завантажив останню версію JDK на сьогодні (версія JDK 12), і не знайшов жодного інструмента.jar. Мені довелося завантажити JDK версії 8 (1.8.0) сюди https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, щоб отримати файл tools.jar. Я завантажив цю версію, взяв файл tools.jar і помістив її в папку lib моєї останньої версії.
Переконайтеся, що до вашої змінної PATH додано як контури% JAVA_HOME%, так і% JAVA_HOME% / bin.
Всі відповіді про копіювання tools.jar у правильне положення - у кращому випадку погана ідея.
Переконайтесь, що ваш IDE може знайти ці банки так, як вони були розроблені та призначені.
У вікні затемнення> уподобання> Java> Встановлений JRE я вказав на каталог jre в jdk 1.7, і я працював для мене, наприклад, C: \ Program Files \ Java \ jdk1.7.0_71 \ jre
У мене був мій JDK_path ( C:\Program Files\Java\jdk1.7.0_79
), JAVA_HOME
а також JDK_path \ bin в моєму PATH
. Але все-таки мій мурашник використовував JRE замість JDK.
Проблема полягала в тому, що я мав C:\ProgramData\Oracle\Java\javapath
перед моєю змінною JDK_path PATH
. Я просто перемістив свій JDK_path перед оракулом і вирішив проблему.
вирішуючи цю проблему, я просто скопіював файл tools.jar з C: \ Program Files \ Java \ jre1.8.0_112 \ lib в C: \ Program Files \ Java \ jdk1.8.0_112 \ lib, щоб у мене було два інструменти.jar файли замість одного і проблема зникла.
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
Переконайтесь, що ваш класний шлях встановлений правильно, і вкажіть на правильну версію встановленого JDK. Також ви використовуєте Open JDK? У мене виникло це питання раніше, ніж я намагався перейти з відкритого JDK до Suns JDK. Це приклад того, як цю проблему можна було виправити.
Для мене те, що працює: я завантажив стару версію Java 1.7
Я фактично встановив свій JAVA_HOME з C: / програмних файлів X86 / Java BUT, після того як я встановив версію 1.7, у мене була інша Java в програмних файлах / Java. І в цей момент я знайшов тут інструменти.jar. Потім я змінився на цей новий шлях і він працює
Я також зіткнувся з тією ж помилкою. Це було видалено після встановлення шляху Java_Home до C: \ Program Files \ Java \ jdk1.8.0_121. Будь ласка, переконайтеся, що бін не включений у шлях, а коса коса риса відсутня після jdk1.8.0_121 після того, як ви визначили% JAVA_HOME% \ bin у змінній системного шляху.
Якщо ви перебуваєте в середовищі RHEL, ім'я пакета, що містить tools.jar, закінчується "openjdk-devel".
Я завантажив tools.jar і після цього скопіював його в шлях у повідомленні про помилку.
C: \ Програмні файли \ Java \ jdk-11.0.1 \ bin> вставити сюди tools.jar
Після цього я перезапустив Spring Tool Suit 4 і все спрацювало. Коли я намагався виправити цю проблему, я створив нову змінну навколишнього середовища: Панель управління / Система / Розширені / Змінні середовища / Нова Ім'я: Значення JAVA_HOME: C: \ Програмні файли \ Java \ jdk-11.0.1 Але я не знаю, що це це необхідно.
У випадку, якщо це допомагає, проблема для мене полягала в тому, що у мене було 2 записи в моїй змінній середовища PATH, яка вказувала на місце, що містить виконувану програму javaw.
Я очистив змінну, щоб переконатися, що "% JAVA_HOME% \ bin" є єдиним записом, що посилається на місце, яке містить мої файли Java.