Ant нуждается в tools.jar и не может его найти

Я собираю среду разработки для Java-программы, и после первой попытки моих сценариев сборки Ant я получил эту ошибку:

Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar

Хотя путь к jdk верен, tools.jar действительно там не было. Это на самом деле должно быть, или я неправильно установил некоторые настройки / настройки?

10 ответов

Решение

Это там на моей машине. Я использую Sun JDK 1.6.0_21 в Windows XP SP3.

Вы уверены, что у вас есть JDK? Возможно ли, что у вас есть только JRE?

Кажется, вы можете установить Java в /usr/lib/jvm/java-6-openjdk, но иметь только JRE, а не JDK. Это исправило это для меня:

sudo apt-get install openjdk-6-jdk

Примечание: при установке CentOS / RHEL java-1.x.0-openjdk не хватит. Также установите java-1.x.0-openjdk-devel,

apt install defalut-jdk # this doesn't contain some file, like tools.jar...
apt install openjdk-8-jdk # this contains all files.

На Debian после установки Ant с apt-get install ant Я столкнулся с той же ошибкой при запуске:

Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk-amd64/lib/tools.jar

На самом деле, нет упоминания о каких-либо tools.jar где-нибудь в /usr/lib, хотя /usr/lib/jvm/java-6-openjdk-amd64 сам существует.


https://packages.debian.org/search?searchon=contents&keywords=java-6-openjdk-amd64%2Flib%2Ftools.jar

Согласно поиску выше, java-6-openjdk-amd64/lib/tools.jar кажется частью openjdk-6-jdk, который действительно не был установлен с помощью ant (поскольку он помечен только как предложено ( https://packages.debian.org/wheezy/ant)).

apt-get install openjdk-6-jdk

На Ubuntu мне нужно установить JDK sudo apt-get install openjdk-7-jdk

Попробуйте следующее:

% sudo apt-get install sun-java6-jdk

% sudo update-альтернативы --config java

выберите опцию, которая имеет путь

/ USR / Библиотека / JVM / Java-6-ВС / JRE / бен / Java

У меня работало на убунту 10.4

Вы также можете попытаться поставить свой JAVA_HOME, как показано ниже:

% sudo export JAVA_HOME = $ (ссылка для чтения -f /usr/bin/javac | sed "s:/bin/javac::")

Даже если у вас установлен jdk, вам нужно будет перенаправить JAVA_HOME, чтобы указать на него.

Вот один странный трюк, который вы можете применить в своем.profile для правильной настройки JAVA HOME, независимо от того, какой у вас java:

export JAVA_HOME=$(dirname $(dirname $(readlink -e /usr/bin/java)))
# Test for jdk installed above jre
if [ -x $JAVA_HOME/../bin/java ]; then export JAVA_HOME=$(dirname $JAVA_HOME); fi

Установка jdk-6u45-linux-x64.bin (с сайта oracle.com) через unzip не приводит к появлению tools.jar. Я предполагаю, что файл создается скриптом "make-jpkg". Как только я это сделал и установил получившийся файл.deb, все было хорошо. Я действительно ненавижу адвокатов оракула.

В Ubuntu я исправил эту проблему, установив пакет

openjdk-7-jre-lib

tools.jar появился после этого.

(Я знаю, что это старый пост, но прокомментируйте в надежде, что он будет полезен для тех, кто ищет ответ, как я был сегодня.)

Другие вопросы по тегам