195 votes

Gradle ne trouve pas tools.jar

J'utilise des doclets javadoc avec gradle, j'ai donc besoin d'utiliser le package tools.jar, qui se trouve dans le dossier lib du jdk (1.6.0_26 dans mon cas).

Le problème est que gradle ne le prend pas automatiquement, donc j'ai ajouté ce paquetage d'outils à mon dossier libs, puis je l'ai ajouté à dependencies.gradle .

Maintenant je veux le prendre directement de mon JDK home dans mon dependencies.gradle. Y a-t-il un moyen de le faire ? J'ai essayé ce qui suit dans mon dependencies.gradle :

compile files("${System.properties['java.home']}/lib/tools.jar")

Mais il ne le trouve pas lors de la compilation.

11voto

Andrei LED Points 1824

C'est peut-être deux ans trop tard, mais j'ai rencontré le même problème récemment et voici la solution à laquelle j'ai abouti après avoir trouvé ce poste :

import javax.tools.ToolProvider

dependencies {
  compile (
    files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()),
    ...
  }
}

Cela devrait fonctionner si java.home pointe vers un répertoire qui n'est pas sous le répertoire JDK et même sous Mac OS où vous auriez classes.jar au lieu de tools.jar.

10voto

Dun0523 Points 21

Sous Windows 10, j'ai rencontré le même problème et voici comment je l'ai résolu ;

  1. Accès Advance System Settings>Environment Variables>System Variables
  2. Sélectionner PATH o C:\ProgramData\Oracle\Java\javapath
  3. Avec votre propre installation de jdk, c'est-à-dire JAVA_HOME \= C:\Program Files\Java\jdk1.8.0_162

9voto

sidn Points 73

Sur mon système (Win 10, JRE 1.8.0, Android Studio 3.1.2, Gradle 4.1), il n'y a pas de tools.jar dans le répertoire JRE ( C:\Program Files\Java\jre1.8.0_171 ).

Cependant, je l'ai trouvé dans C:\Program Files\Android\Android Studio\jre\lib et j'ai essayé de mettre en place JAVA_HOME=C:\Program Files\Android\Android Studio\jre

Cela fonctionne (pour moi) !

5voto

B. Robert Points 51

Ce qui m'a permis de résoudre le problème, c'est ce qui suit :

  1. a trouvé tools.jar dans C:\Program Dossiers \Android\Android Studio \jre\lib
  2. copier-coller vers C:\Program Fichiers (x86) \Java\jre1.8.0_271\lib
  3. J'ai exécuté le code à nouveau et il a fonctionné.

4voto

Si vous utilisez le terminal pour construire et que vous avez cette erreur, vous pouvez pointer vers le jdk fourni avec Android studio dans votre fichier gradle.properties fichier :

org.gradle.java.home=/usr/local/android-studio/jre

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X