Je suis un nouveau venu dans le monde du développement d’entreprise Java. Le gourou Java de mon entreprise est en congé familial indéfini, et on m'a confié la tâche de gérer certaines des applications Java qu'il a développées. Il a installé Eclipse [Kepler SR1] avec Maven sur mon ordinateur avant son départ, et tout semblait bien fonctionner.
Je suis maintenant prêt à déployer ma première modification et je dois exécuter une variable Maven install
, mais je ne parviens pas à la faire fonctionner. J'ai le résultat suivant sur ma console:
[ERREUR] Echec de l'exécution du but org.Apache.maven.plugins: maven-compiler-plugin: 3.1: compiler (compilation par défaut) sur le projet mrpapp: échec de la compilation.
[ERREUR] Aucun compilateur n'est fourni dans cet environnement. Peut-être que vous utilisez un JRE plutôt qu'un JDK?
mais j’ai bien suis avec un JDK et non un JRE. J'ai vérifié deux fois mon $Java_HOME
(C:\Program Files (x86)\Java\jdk1.7.0_60
) et il a-t-il un javac.exe
dans son répertoire bin
.
Je joins une copie de mon fichier pom.xml
pour examen. Je suis sûr qu'il y a quelque chose là-dedans qui cause le problème, mais je ne suis pas sûr de ce que cela pourrait être. J'utilise un ordinateur portable avec Windows 7 64 bits, si vous avez besoin d'informations supplémentaires sur la plate-forme/l'environnement, je peux également vous fournir ces informations.
Toute aide est la bienvenue.
Accédez à Fenêtre → Préférences → Java → JRE installés.
Et voyez s'il y a une entrée pointant sur votre chemin JDK, et sinon, cliquez sur le bouton Éditer et mettez le chemin que vous avez configuré pour votre environnement Java_HOME
.
Screen_shotAjoutez 'tools.jar' au JRE installé.
Eclipse
-> window
-> preference
.installed JREs
-> Edit
tools.jar
dans le dossier Java/JDKx.x/lib
.Allez dans Fenêtre> Préférences> Java> JRE installés> et vérifiez vos JRE installés. Vous devriez y avoir une entrée avec un JDK.
J'ai tout essayé; celui qui a fonctionné pour moi est:
Ajoutez ces configurations dans pom.xml
<project ...>
...
<build>
...
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk1.7.0_79\bin\javac</executable>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
J'ai également été confronté à une erreur similaire lorsque je travaillais avec Jdk1.8_92 . Pour moi, j'ai trouvé le fichier tools.jar manquant dans mon dossier jdk . Étant donné que je courais dans la console, je ne pouvais pas essayer les options de Eclipse suggéré par d'autres ..
J'ai installé jdk-8u92-windows-x64. Après avoir essayé toutes les options, j'ai constaté que tools.jar était absent du dossier jdk1.8.0_92/lib. J'ai copié tools.jar à partir de mon ancienne version de Java . Ensuite, il a été capable de compiler.
La même erreur se produisait lorsque j'essayais d'exécuter une construction maven dans Eclipse dans une installation Eclipse Neon récemment installée (pour les développeurs JEE), sous Windows 10 avec JDK 8 et JRE 8 installés.
J'avais essayé de spécifier tools.jar en tant que bibliothèque externe et de définir le jdk en tant que -vm dans Eclipse. Aucune de ces choses n'a fonctionné.
Sélectionner le JDK comme env. D'exécution par défaut, comme mentionné ci-dessus, a tout de même été décisif.
Le texte situé au-dessus de la liste déroulante des JRE compatibles à l'étape 3 indique "un JRE par défaut peut être spécifié en le cochant".
Note: J'ai aussi le plugin maven compiler listant explicitement 1.8 dans le pom
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Vérifiez si vous avez les entrées suivantes dans l'élément de votre pom.xml, en particulier jdk.version, car le passage à un jre installé ne m'a pas corrigé l'erreur similaire.
<properties>
<jdk.version>1.7</jdk.version>
<spring.version>4.1.1.RELEASE</spring.version>
<jstl.version>1.2</jstl.version>
<junit.version>4.11</junit.version>
</properties>
si quelqu'un exécute Eclipse dans Ubuntu et a ce problème, j'ai trouvé la réponse en procédant comme suit:
avait le même problème, a indiqué Java au dossier bin dans Eclipse en utilisant: windows> préférences> Java> JRE installés> supprimer tout JRE existant et le pointer vers votre dossier Java bin (principalement sous C:\Program Files\Java\jdk1.8.x_xx).
puis lancez maven install cela devrait fonctionner.
Pour vérifier ce que votre Maven utilise, ouvrez une ligne de commande et tapez:
mvn –version
Vérifiez que Java_HOME fait référence à une maison JDK et non à un JRE
Sous Windows:
Accédez à Propriétés système -> Paramètres système avancés -> Options avancées -> variable d’environnement et dans la section Variables système, sélectionnez la variable Java_HOME et cliquez sur Modifier. valeur:
Sous Unix:
export Java_HOME=<ABSOLUTE_PATH_TO_JDK>
voir ce lien
Installé JRE Dans mon cas, j'ai résolu le problème en supprimant les doublons de noms, je n'en ai gardé qu'un avec le nom: jdk.1.8.0_101
Dans mon cas, j'avais créé une configuration d'exécution et chaque fois que j'essayais de l'exécuter, l'erreur était affichée. Après une recherche sur certains sites Web, j'ai modifié la configuration d'exécution et, sous l'onglet JRE, sélectionné le JRE d'exécution en tant que "JRE d'espace de travail par défaut" que j'avais déjà configuré pour pointer sur mon installation JDK Java locale (par exemple, C:\Program Files (x86)\Java\jdk1.8.0_51). Cela a résolu mon problème. Peut-être que cela aide quelqu'un là-bas.
Quand j'exécutais mvn compile
, j'obtenais une erreur inférieure dans la console:
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
[INFO] Compiling 1087 source files to C:\Code\DevVNextComplete\Development_vNext\Source\JARS\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[Résolution]
J'avais ajouté la variable Java_HOME dans mes variables d'environnement, puis cela fonctionnait.
Assurez-vous que vous avez défini %Java_HOME%
en tapant echo %Java_HOME%
dans l'invite de commande. Si vous ne disposez pas de cet ensemble, vous devez ajouter votre chemin Java aux variables d'environnement de Windows.
Maven nécessite la compilation de JDK. Dans Eclipse, vous devez CHANGER/REMPLACER votre JRE par le chemin JDK vers lequel pointe votre Java_HOME. Accédez à Fenêtre> Préférences> Java> JRE installés.
Assurez-vous que le plugin maven-compiler dans votre pom.xml a la source et la cible de la version Java dans votre Java_HOME
http://learn-automation.com/maven-no-compiler-is-provided-in-this-environment-Selenium/
Pour moi (sous Windows 10), le message d'erreur «Aucun compilateur n'est fourni dans cet environnement» à l'invite de commande Windows lorsque j'ai exécuté mvn install
. Le correctif changeait la variable Java_HOME environment pour qu'elle pointe vers mon jdk (C:\Program Files\Java\jdk1.8.0_101); Auparavant, il avait souligné le jre.
Et pour obliger Eclipse à utiliser le nouveau jdk, j'ai édité Eclipse.ini
dans ma distribution Eclipse et modifié la ligne pour -vm
en C:\Program Files\Java\jdk1.8.0_101\bin
.
Cela a fonctionné pour moi. 1. Cliquez sur Fenêtre-> Préférences -> JRE installé. 2. Vérifiez si votre référence concerne JDK, comme indiqué dans l'image ci-dessous.
Sinon, cliquez sur Ajouter-> Standard VM -> Indiquez le chemin du JDK en sélectionnant le répertoire et cliquez sur Terminer comme indiqué dans l'image
vérifiez la version de Java dans pom.xml et la version de Jre dans Eclipse-> Fenêtre-> Préférences-> JRE installés. Dans mon cas, pom.xml a une version différente (il avait 1.8 alors que Eclipse utilisait 1.7). La correction de la version dans pom.xml à 1.7 a fonctionné.
si vous travaillez en dehors d'Eclipse dans la fenêtre de commande
Assurez-vous que vous avez le bon Java_HOME et que ce répertoire contient le compilateur en entrant la commande suivante dans la fenêtre de commande:
dir %Java_HOME%\bin\javac.*
1. Allez dans Windows -> Préférences -> Java -> JRE installés -> Environnements d'exécution
2.sélectionnez la version Java que vous utilisez actuellement dans la zone "Environnements d'exécution" . Ainsi, dans la zone "JRE compatibles", vous pourrez afficher " jre1.8.0_102 [correspondance parfaite] "(si votre version de Java est 1.8). Ensuite, essayez de construire en utilisant Maven.
Si vous utilisez maven, incluez la balise suivante dans pom.xml (mettez à jour les versions si nécessaire) dans la balise plugins.
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>