Dans le pom.xml pour un projet en java, je reçois de l'artefact manquant jdk.outils:le jdk.outils:jar:1.6 erreur
Je pense que je sais comment résoudre le problème, sauf: je ne sais pas où dans le pom la version spécifique est mentionnée (je ne vois pas explicitement) et la solution que j'ai vu, c'est pour ajouter cette dépendance:
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>C:\Program Files\Java\jdk1.6.0_29\lib\tools.jar</systemPath>
</dependency>
Mais je voudrais utiliser com.oracle et le jdk directory sur Windows est jdk1.8.
Donc, il y a un moyen de faire la pom "veulent" la version des outils que j'ai fait sur ma machine?
comment maven peut deviner ce que la version u avez sur votre machine?
Je ne sais pas ce qu'il est demander pour la 1.6. J'ai l'tools.jar fichier sous la dernière version de java mais quand je précise que la dépendance, la pom affiche toujours l'erreur. L'erreur (grand cercle rouge) se produit en haut de la pom -- il n'est pas associé à la dépendance bloc.
Je n'ai jamais été confronté à ce problème, donc, c'est juste une supposition: êtes-vous sûr que vous travaillez avec un jdk, et ce n'est pas qu'un jre est appelé à la place?
u peut coller ici votre pom? et l'erreur exacte?
Je ne sais pas ce qu'il est demander pour la 1.6. J'ai l'tools.jar fichier sous la dernière version de java mais quand je précise que la dépendance, la pom affiche toujours l'erreur. L'erreur (grand cercle rouge) se produit en haut de la pom -- il n'est pas associé à la dépendance bloc.
Je n'ai jamais été confronté à ce problème, donc, c'est juste une supposition: êtes-vous sûr que vous travaillez avec un jdk, et ce n'est pas qu'un jre est appelé à la place?
u peut coller ici votre pom? et l'erreur exacte?
OriginalL'auteur Jeff | 2015-03-22
Vous devez vous connecter pour publier un commentaire.
J'ai enfin abordé ce la bonne façon.
Ce qui se passe lors de l'éclipse est lancée avec la JRE à la place du JDK que
tools.jar
n'est pas dans le JRE.Basé sur cette affirmation, essayez d'installer le JDK. Si il est déjà installé, vérifiez dans votre
Path
que vous avez le JDK chemin et de ne pas le JRE chemin.Attention, la dernière version de java semble ajouter dans le
Path
le répertoire suivant:C:\ProgramData\Oracle\Java\javapath
. Il contient des raccourcis qui peuvent établir un lien de la JRE. Vous aurez envie de l'enlever et d'ajouter le lien pour le dossier bin de votre JDK. (par exemple,C:\Program Files\Java\jdk1.8.0_66\bin
)Notez que vous devrez peut-être redémarrer votre ordinateur pour que les modifications dans la
Path
pour être efficace pour l'éclipse de lancement (je ne comprends pas vraiment pourquoi je l'avais mais je l'ai fait).Également noter que les mises à jour de Java sera probablement ajouter de nouveau le
javapath
à votre CHEMIN d'accès. De sorte que vous pouvez ne pas utiliser l'auto-mises à jour, mais au lieu de mettre à jour manuellement votre JDK et d'adapter votre chemin après l'installation. C'est un peu lourd, mais fait le travail.c:\windows\system32
. Ne pas se sentir bien, mais que ce soit pour obtenir de ballonnement Eclipse/MavenCrapWare de travail.OriginalL'auteur Crystark
Pour quelqu'un qui trébuche sur cette question dans l'avenir, lire la suite pour une solution plus élégante:
Raison
Cette question cultures dans l'une des deux scénarios:
Vous n'avez pas le JDK installé et configuré; ou
Vous avez tous les deux JDK et JRE JRE est installé et obtenir la priorité sur le JDK chemin.
Solution
Comme expliqué dans ce lien par l'équipe de 'Hadoop dans le monde réel", il vous suffit d'ajouter la dépendance à
tools.jar
dans votrepom.xml
fichier.Si l'erreur persiste, alors il suffit de changer le chemin d'accès à
tools.jar
à un chemin absolu comme indiqué ci-dessous:le chemin d'accès du système fait pour moi dans eclipse.
OriginalL'auteur Vikram Deshmukh
Que j'ai pensé que la meilleure façon de lutter contre cela est d'ajouter la configuration suivante pour votre eclipse.ini pour s'assurer qu'il utilise le jdk copie de javaw dans lors de l'exécution de l'éclipse à la place de la JRE exemplaire, qui permet de résoudre le problème et semble être la bonne approche pour résoudre le problème
le problème à résoudre dans le pom est que l'utilisateur de vérifier que le projet est de toute façon prévu d'utiliser le jdk copie de javaw dans et pas le jre. donc, je pense que c'est mieux résolu par le biais de convention plutôt que configuration.
De plus, chaque utilisateur aura un chemin distinct pour le fichier jar en question et donc ne sera pas en mesure d'exécuter le construire comme c'est à l'aide de l'maven config. Aussi la modification de la pom cette façon de faire la POM pas plus SCC sympathique. par exemple, nous utilisons un mélange de Mac / Unix / Windows environnements et donc le chemin en question change d'utilisateur à utilisateur. Bien que l'utilisation de java.maison env variable peut être une solution à ce problème.
OriginalL'auteur Gautam
Vous pouvez utiliser le "java.accueil" variable d'environnement :
Veuillez jeter un oeil à : https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies
Désolé, j'ai mal compris. La version 1.6 peut venir de la version du JDK référencé dans votre JAVA_HOME env variable. Est votre JAVA_HOME défini avec le JDK de 1,8 chemin? Quelle est votre IDE? Êtes-vous d'obtenir cette erreur à l'extérieur ou à l'intérieur de votre IDE? Peut-être que votre IDE n'est pas à l'aide de la version du JDK que vous attendez?
OriginalL'auteur dosyfier
J'ai trouvé la solution à ce problème dans eclipse.
Dans Eclipse,
Accédez à la Fenêtre -> Préférences
Sur le volet de gauche, développez en Java et vous trouverez le "Installé Jre" entrée
Sélectionner et vous devriez être en mesure de voir le JRE entrée se référant à la JRE dossier plutôt que de le JDK dossier.
Sélectionnez l'entrée à modifier et ensuite rediriger vers le JDK dossier et cliquez sur Appliquer.
Cela a résolu mon problème tout de suite.
OriginalL'auteur Mithun B
vous devez simplement ajouter la dépendance à tools.jar dans votre pom.xml fichier.
Si l'erreur persiste, changer le chemin d'accès à tools.jar d'un chemin absolu comme indiqué ci-dessous:
OriginalL'auteur Govinda Hinduja
OriginalL'auteur smita