web-dev-qa-db-fra.com

Version Eclipse Gradle "Impossible de trouver tools.jar"

J'ai googlé pendant toute la journée et essayé presque toutes les solutions suggérées, aucune ne fonctionne pour mon Eclipse, je n'ai absolument aucune idée de ce qui s'est mal passé, il n'arrêtait pas de dire "Impossible de trouver tools.jar" lorsque j'essaye de construire via Gradle.

Ce que j'ai fait:

1) Ajoutez Java Home (pointez sur mon JDK) dans les variables d'environnement système.

2) Ajoutez le chemin (qui contient tools.jar) dans les variables d'environnement système Path.

3) Créez un fichier dependencies.gradle Dans le dossier du projet, pour demander à Gradle de rechercher tools.jar (compile files("${System.properties['Java.home']}/../lib/tools.jar"))

4) Placez directement la compile files("${System.properties['Java.home']}/../lib/tools.jar") dans le build.gradle dependencies.

5) Dans les préférences du projet, allez dans Java -> Build Path -> Classpath Variables, ajoutez la variable Java_HOME.

6) Pointez le chemin de génération du projet vers JDK au lieu de JRE.

Rien de tout cela ne fonctionne! Que pouvais-je essayer d'autre?

PS: version Eclipse Mars 4.5.2, version Gradle 1.12

contenu build.gradle (ce script de génération est généré automatiquement par Eclipse):

apply plugin: 'Java'
apply plugin: 'Eclipse'

sourceCompatibility = 1.5
version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

Le contenu Java Home:

enter image description here

Variable d'environnement de chemin:

C:\Program Files\Java\jdk1.7.0_67\lib

Erreur lors de l'affichage dans la console Eclipse:

:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not find tools.jar

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 0.152 secs
[sts] Build failed
org.gradle.tooling.BuildException: Could not execute build using Gradle 
installation 'C:\buildtools\gradle-2.12'.
Caused by: Java.lang.IllegalStateException: Could not find tools.jar

(stacktrace trop long, je le raccourcis.)

12
GMsoF

OK, j'ai enfin résolu mon problème. C'est très simple, j'ai réinstallé le JDK. D'une certaine manière, le stupide Eclipse (ou le plugin Gradle, je ne sais toujours pas ce qui ne va pas) ne peut tout simplement pas reconnaître mon ancien chemin JDK.

Après avoir réinstallé JDK (saisissez cette chance, je mets également à niveau JDK 7 à 8), je n'ai même pas besoin de la variable d'environnement Java_home, cela fonctionne.

7
GMsoF

Étape 1: ouvrez Eclipse .

Étape 2: ouvrez la fenêtre -> Préférences

Étape 3: allez à Gradle (STS) -> Arguments

Étape 4: choisissez la version JDK appropriée pour l'option Java Home . (voir l'image ci-dessous)

enter image description here

2
anij

Dans ma situation où la solution du PO n'a pas fonctionné non plus, la réponse a été

  1. Faites un clic droit sur la tâche Gradle dans la fenêtre du plugin Eclipse/Gradle Tasks
  2. Ouvrez l'onglet 'Java Home'
  3. Définissez Java home sur C:\Program Files\Java\jdk1.8.0_131\jre

    le répertoire peut varier en fonction de la version jdk

2
emrhzc

Je recommanderais de faire fonctionner votre build à partir de la ligne de commande avant d'essayer d'utiliser la build de gradle Eclipse. Il semble qu'il y ait un problème avec votre chemin de classe, mais ce n'est pas clair exactement quel est le problème. Il serait utile de supprimer initialement Eclipse du mix et de faire fonctionner la build sans Eclipse. Sur la ligne de commande, cd dans le dossier où le script build.gradle est stocké et exécuté

> gradle clean build

ou

> ./gradlew clean build

Si cela fonctionne bien mais que la construction Eclipse échoue toujours, vous saurez que le problème se situe quelque part dans votre configuration Eclipse. Si la construction du projet avec gradle à partir de la ligne de commande ne fonctionne pas, il y a un problème sous-jacent avec la configuration de votre projet ou gradle. Il y a beaucoup de documentation disponible qui expliquera comment construire le projet avec gradle à partir de la ligne de commande.

2
robjwilkins

J'ai eu le même problème. Je crois que c'est dû au JRE que gradle est configuré pour utiliser plutôt que le JRE Eclipse/STS. Sur ma machine, gradle avait par défaut utilisé le mauvais JRE. Lorsque gradle est installé (même via buildship), il place un répertoire .gradle dans votre répertoire personnel (C:/Users/username) sous Windows. Vous pouvez créer un fichier gradle.properties dans .gradle et spécifier le JRE/JDK que vous souhaitez que gradle utilise comme dans cet exemple:

org.gradle.Java.home=C:/Program Files/Java/jdk1.8.0

Cela serait probablement révélé en utilisant l'approche en ligne de commande recommandée par robyjwilkins. Cela devrait éviter d'avoir à réinstaller un JDK.

Pour plus d'informations, voir https://docs.gradle.org/current/userguide/build_environment.html

2
Andy Sinclair

Ma réponse est que je devais exécuter Eclipse avec le JRE intégré JDK au lieu du JRE système autonome.

Modifier Eclipse.ini pour modifier les recherches de vm Eclipse (.exe). c'est à dire:

-vm
C:\Program Files\Java\jdk1.8.0_92\jre\bin\Java.exe
2
Old Badman Grey

Je suis tombé sur ce problème "tools.jar introuvable" après l'installation d'une récente mise à jour Java.

Il semble qu'Oracle ne regroupe pas le fichier tools.jar avec le JRE.

Pour résoudre - j'ai copié le fichier tools.jar d'une version précédente dans le dossier Java/jren_nn/lib du JRE actuel. puis j'ai redémarré Eclipse

1
Dror

Il s'agit d'un problème courant, il se produit toujours car Eclipse a configuré Java_HOME ou JDK_HOME sur l'emplacement JRE qui n'a pas tools.jar et donc le problème. Pour ce cas particulier: Eclipse utilise généralement des plug-ins Gradle (STS) ou Buildship pour la construction de Gradle, car ceux-ci utilisent les paramètres fournis par Eclipse de sorte que votre génération échoue.

Considérant maintenant les faits ci-dessus. Il existe quelques solutions qui peuvent fonctionner:

  1. Si vous souhaitez toujours utiliser gradle intégré, modifiez le fichier Eclipse.ini pour fournir l'emplacement JDK qui, je suppose, pourrait être utilisé par le plugin et votre problème pourrait être résolu. OR vous pouvez même essayer de configurer le plugin STS pour l'emplacement JDK
  2. Si vous allez dans Fenêtre> Préférences> Gradle et que vous le configurez pour utiliser une installation Gradle externe, vous pouvez fournir un fichier gradle.properties dans votre emplacement UTILISATEUR (sol. By @Andy Sinclair)

Sur la même note, vous pourriez même rencontrer ce problème, même pour un projet basé sur Eclipse Java. Encore une fois, la solution est la même.

1
dvsakgec