Ответ 1
Это там на моей машине. Я запускаю Sun JDK 1.6.0_21 на Windows XP SP3.
Вы уверены, что у вас есть JDK? Возможно ли, что у вас есть только JRE?
Я собираю среду разработки для Java-программы, и после первой попытки создания сценариев сборки Ant я получил эту ошибку:
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar
В то время как путь к jdk правильный, tools.jar действительно не было. На самом деле это должно быть там, или я неправильно понял какую-либо конфигурацию/установку?
Это там на моей машине. Я запускаю 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
.
Попробуйте следующее:
% sudo apt-get install sun-java6-jdk
% sudo update-alternatives --config java
выберите опцию, которая имеет путь
/USR/Library/JVM/Java-6-ВС/JRE/бен/Java
Работал для меня на ubuntu 10.4
u может попытаться также поставить JAVA_HOME следующим образом:
% sudo export JAVA_HOME = $(readlink -f/usr/bin/javac | sed "s:/bin/javac::" )
На Ubuntu мне нужно установить JDK
sudo apt-get install openjdk-7-jdk
Установка jdk-6u45-linux-x64.bin(с сайта oracle.com) с помощью unzip не приводит к использованию tools.jar. Я думаю, что файл создается с помощью "make-jpkg" script. Как только я это сделал, и установил полученный файл .deb, все было в порядке. Я действительно ненавижу адвокатов оракула.
В 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
Даже если у вас установлен 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
В Ubuntu я исправил эту проблему, установив пакет
openjdk-7-jre-lib
После этого появился tools.jar.
(Я знаю, что это старый пост, но комментируйте в надежде, что это будет полезно для кого-то, скрывающегося за ответ, как я был сегодня.)