J'essaie de lancer un projet en utilisant Maven dans Eclipse, mais l'erreur suivante apparaît. Le tools.jar
se trouve dans le dossier lib
du JDK, mais tools-1.6.jar
ne semble pas exister sur mon ordinateur. J'utilise le JDK 1.7 et mon Java_HOME
pointe vers ce dossier (tout comme mon Eclipse.ini
). Quelqu'un sait où je peux obtenir ce fichier ou ce que je risque de ne pas bien faire?
Le conteneur 'Maven Dependencies' fait référence à une bibliothèque non existante C:\Users\sejohnson\.m2\repository\com\Sun\tools\1.6\tools-1.6.jar
Le fichier tools-x.y.z.jar doit être fourni par votre JDK.
Assurez-vous qu'Eclipse est exécuté par JDK et non par JRE en ajoutant l'option -vm dans Eclipse.ini.
Par exemple:
-vm
C:\Program Files\Java\jdk1.6.0_26\bin\javaw
Une nouvelle ligne après -vm
est cruciale.
il devrait être juste au-dessus
-vmargs
Voir aussi Problème de configuration du plug-in Eclipse Maven
J'ai eu exactement le même problème et j'ai fini par ajouter la dépendance suivante au fichier pom:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>${Java.version}</version>
<scope>system</scope>
<systemPath>${Java_HOME}/lib/tools.jar</systemPath>
</dependency>
Cela a résolu le problème et rendu tools.jar
disponible pour le plug-in QueryDSL dans mon projet. J'espère que cela t'aides. Remarque: assurez-vous que la version de JDK est utilisée à la place de JRE.
Edit: Récemment noté ce problème est réapparu lorsque je suis passé sur une nouvelle plate-forme de développement, dans mon cas c’était Ubuntu 12.10. Le correctif consistait à ajouter ${Java_HOME}/bin
au $PATH
Il se peut que votre Eclipse utilise par défaut votre version 32 bits de votre jre. Si vous faites tout correctement avec Java_HOME défini sur C:\Program Files\Java\jdk1.6.0_21\bin et que vous exécutez une version 32 bits d’Eclipse, vous finirez par utiliser quelque chose comme C:\Program Files (x86)\Java \. jre6\bin.
une fois le problème jdk résolu, vous devrez le transmettre à la fin du raccourci -vm "C:\Program Files (x86)\Java\jdk1.6.0_31\bin".
Ou réparer votre Java_HOME
D'autres suggestions ont été faites pour vous assurer que votre Eclipse utilise le jdk pas jre http://gamefromscratch.com/post/2011/11/15/Telling-Eclipse-to-use-the-JDK-instead-of-JRE .aspx
Vous trouverez une autre publication si vous effectuez une recherche dans tools.jar ou si vous lisez un autre projet présentant le même problème de dépendance maven.
Le tools.jar
n'est fourni dans aucun référentiel public (comme je le sais). Si votre pom.xml
fait référence à un fichier de votre référentiel local, vous devez l’installer vous-même. Le fichier pom.xml que vous utilisez suppose apparemment que quelqu'un a créé/installé un fichier tools-1.6.jar dans un référentiel Maven accessible (par exemple, à un gestionnaire de référentiel maven central de la société tel que Nexus ).
Si cela ne vous convient pas, essayez de modifier la dépendance comme expliqué dans la section Maven FAQ .
J'ai eu le même problème et il s'est avéré qu'une des dépendances de mon fichier POM ajoutait de manière transitoire la dépendance au fichier jdk.tools dont je n'avais pas besoin (et qui causait des problèmes avec le plugin Eclipse Maven). Ma solution était de l'exclure de la dépendance problématique comme ceci:
<dependency>
<groupId>it.unimi.di</groupId>
<artifactId>mg4j-big</artifactId>
<version>${mg4j-big.version}</version>
<exclusions>
<exclusion>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
</exclusion>
</exclusions>
</dependency>
Essayez de rechercher la dépendance qui importe transitoirement le fichier jdk.tools et excluez-la comme je l’ai fait ci-dessus. Cela devrait résoudre votre problème.
Pouvez-vous vérifier votre pom.xml pour les dépendances autour des outils? Mvnrepository.com est une bonne source. Enfin, votre projet est-il compilé en dehors d’eclipse? Est-ce que mvn clean compile
fonctionne dans une boîte à dos ou un shell? Si c'est le cas, il vous suffira peut-être de régénérer les fichiers du projet Eclipse avec mvn Eclipse:eclipse
, puis actualisez votre projet dans Eclipse.
Voici une autre option si vous rencontrez ce problème de construction. J'ai eu le même problème de construction et j'ai essayé toutes les suggestions ci-dessus et le problème était toujours là. Ensuite, j'ai remarqué que le premier élément de mon chemin système était "C:\ProgramData\Oracle\Java\javapath".
Je ne sais pas quel programme l'a installé. Et quand j'ai vérifié le dossier, il n'y avait que quelques liens (raccourcis). J'ai supprimé cela du chemin système et l'erreur de génération a été résolue. J'espère que cela aide quelqu'un d'autre dans la même situation.
Echo @Gopal Ramakrishnan. J'ai eu le même problème dans le chemin env (Windows OS). Il contient "C:\ProgramData\Oracle\Java\javapath" dans lequel Java.exe a eu un impact sur le chemin d'accès au jdk lors du démarrage d'Eclipse. Supprimez simplement que résolu le problème. Je suis à peu près sûr que "C:\ProgramData\Oracle\Java\javapath" a été ajouté discrètement par Oracle "développeur SQL" ...
Ayant le même problème, j'ai dû ajouter manuellement le fichier tools.jar dans Eclipse: Préférences -> Java -> JRE installés -> Sélectionnez jre -> Édition -> Ajouter des JAR externes -> Recherchez et sélectionnez tools.jar -> Fin. Maintenant ça marche.
En plus de tout ce qui précède, ce qui pourrait signifier différentes étapes pour diagnostiquer le problème et fournir finalement une solution appropriée, je commencerais par vérifier une ligne de commande (c'est-à-dire en dehors du temps d'exécution d'Eclipse). Effectuer une 'installation propre de MVN' à partir d’une ligne de commande vous donnerait ce qui suit:
En utilisant ces deux faits, vous pouvez éliminer les problèmes liés à l'installation de Java et aux niveaux d'installation de Maven. Ensuite, vous pouvez faire en sorte qu'Eclipse utilise les mêmes paramètres que vous pouvez utiliser (Java JDK HOME, MAVEN HOME) dans une ligne de commande, comme l'expliquent les autres réponses ci-dessus avec de bons détails (en particulier brimstedt et josh's ).
Dans mon cas, il s’est avéré que j’avais cette dépendance dans le fichier pom.xml
<dependency>
<groupId>com.Sun</groupId>
<artifactId>tools</artifactId>
<version>1.6.0</version>
<scope>system</scope>
<systemPath>${env.Java_HOME}/lib/tools.jar</systemPath>
</dependency>
Cependant, Java_HOME a été défini au démarrage d’Eclipse sur un JRE au lieu d’un JDK .
Donc, le fichier tools.jar n’existait pas pour cette raison