web-dev-qa-db-fra.com

Ant a besoin de tools.jar et est incapable de le trouver

Je mets en place un environnement de développement pour un programme Java et après le premier essai de mes scripts de construction Ant, j'ai eu cette erreur:

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

Bien que le chemin vers le jdk soit correct, le tools.jar n'était vraiment pas là. Est-il réellement censé être là ou ai-je eu une erreur de configuration/installation?

42
Genadinik

Il est là sur ma machine. J'utilise Sun JDK 1.6.0_21 sous Windows XP SP3.

Êtes-vous sûr de posséder le JDK? Est-il possible que vous n'ayez que le JRE?

13
duffymo

Il semble que vous pouvez avoir Java installé dans/usr/lib/jvm/Java-6-openjdk mais seulement avoir le JRE, pas le JDK. Cela l'a corrigé pour moi:

Sudo apt-get install openjdk-6-jdk

62
Kevin Qi

Remarque: Sur CentOS/RHEL, l'installation de Java-1.x.0-openjdk ne suffira pas. Installez également Java-1.x.0-openjdk-devel.

17
Salieri

Sur Debian, après avoir installé Ant avec apt-get install ant, J'ai rencontré la même erreur lors de son exécution:

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

En effet, il n'est fait mention d'aucune tools.jar n'importe où dans /usr/lib, bien que /usr/lib/jvm/Java-6-openjdk-AMD64 lui-même existe.


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

Selon la recherche ci-dessus, Java-6-openjdk-AMD64/lib/tools.jar semble faire partie de openjdk-6-jdk, qui en effet n'a pas été installé avec ant (car il n'est marqué que comme suggéré ( https://packages.debian.org/wheezy/ant )).

apt-get install openjdk-6-jdk

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

Sur Ubuntu, j'ai besoin d'installer JDK Sudo apt-get install openjdk-7-jdk

3
sobi3ch

Essayez ce qui suit:

% Sudo apt-get install Sun-Java6-jdk

% Sudo update-alternatives --config Java

sélectionnez l'option qui a le chemin

/ usr/lib/jvm/Java-6-Sun/jre/bin/Java

A travaillé pour moi sur un Ubuntu 10.4

vous pouvez également essayer de mettre votre Java_HOME, comme suit:

% Sudo export Java_HOME = $ (readlink -f/usr/bin/javac | sed "s:/bin/javac ::")

3
Daniel Nascimento

L'installation de jdk-6u45-linux-x64.bin (à partir du site Oracle.com) via unzip ne génère pas un fichier tools.jar. Je suppose que ce fichier est créé par le script "make-jpkg". Une fois que j'ai fait cela et installé le fichier .deb résultant, tout allait bien. Je déteste vraiment les avocats d'Oracle.

2
mcr

Même si jdk est installé, vous devrez rediriger Java_HOME pour le pointer vers lui.

Voici une astuce étrange que vous pouvez mettre dans votre .profile pour définir correctement Java HOME, peu importe lequel Java vous avez:

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
2
Edward Falk

Sur Ubuntu, j'ai résolu ce problème en installant le package

openjdk-7-jre-lib

tools.jar est apparu après cela.

(Je sais que c'est un vieux post, mais commentez dans l'espoir qu'il sera utile à quelqu'un qui rôde pour une réponse comme je l'ai été aujourd'hui.)

2
Valentina Walx