web-dev-qa-db-fra.com

Erreur Eclipse/Maven: "Aucun compilateur n'est fourni dans cet environnement"

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.

68
Ken L

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.

139
Jorge Campos

Screen_shotAjoutez 'tools.jar' au JRE installé.

  1. Eclipse -> window -> preference.
  2. Sélectionnez installed JREs -> Edit
  3. Ajouter des bocaux externes
  4. sélectionnez tools.jar dans le dossier Java/JDKx.x/lib.
  5. Cliquez sur Terminer
17
sibabrata

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.

https://cduu.wordpress.com/2013/03/08/maven-Eclipse-compiler-error-no-compiler-is-provided-in-this-environment/

15
Gubatron

J'ai tout essayé; celui qui a fonctionné pour moi est:

  1. Cliquez avec le bouton droit sur le projet Eclipse et accédez aux propriétés.
  2. Cliquez sur Chemin de construction Java et accédez à l'onglet Bibliothèques.
  3. Vérifiez quelle version de Java y est ajoutée; Est-ce JRE ou JDK?
  4. Si vous utilisez le projet Maven et souhaitez créer une solution.
  5. Sélectionnez le JRE ajouté et cliquez sur Supprimer.
  6. Cliquez sur Ajouter un dossier de classe externe et ajoutez l'installation JDK en sélectionnant À partir du système.
  7. Cliquez sur Appliquer et sur OK.
  8. Redémarrez Eclipse.
  9. La construction a réussi.
9
Archana Prasad

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>
4
AnuradhaS

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. 

3
Manish

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.

  1. Eclipse-> window-> préférence-> Java-> JRE installés-> Environnements d'exécution.
  2. Sélectionnez JavaSE-1.8
  3. Vérifiez JDK1.8 dans "JRE compatibles".

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>
2
Tim

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>
2
Balaji

si quelqu'un exécute Eclipse dans Ubuntu et a ce problème, j'ai trouvé la réponse en procédant comme suit: 

  1. Eclipse-> fenêtre-> préférence. 
  2. Sélectionnez les JRE installés -> Ajouter 
  3. Sélectionnez standardVM. 
  4. JRE home: appuyez sur la touche [Directory ..]. 
  5. Choisissez votre Java (mon problème était que mon Eclipse fonctionnait sous Java8 et que mes VM sous Java7), dans mon cas, Java8 était installé dans usr/local/jvm/Java-8-Oracle. 
  6. Appuyez sur la finition. 
  7. Appuyez ensuite sur la flèche JRES installée pour voir les autres options. 
  8. Aller à l'environnement d'exécution. 
  9. Sélectionnez JavaSE-1.6 à gauche et à droite (le JRE compatible), vous devez choisir le Java que vous venez d'installer (dans mon cas, Java-8-Oracle). vous devez suivre ces étapes avec JavaSE1.8. 
  10. Cliquez sur OK et redémarrez Eclipse. 
2
Marcelo Gomez

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.

1
Rajan Chauhan

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

1
Ucup Timposu

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

1

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.

1
Jatin Shashoo

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.

 enter image description here

1
Vaibhav Sharma

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. 

0
Gene

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/

0
rnyunja

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.

0
Don Smith

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. enter image description here

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 enter image description here

  1. Dernière étape, cliquez sur JRE installés -> Environnements d'exécution -> sélectionnez votre JDE comme indiqué dans l'image ci-dessous enter image description here

  2. Maven -> Propre

0
Swathi Shetty

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é.

0
user3610547

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.*
0
inor

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. 

0
ramprakash
  1. Désinstallez l'ancien système Java (JDK/JRE) du système (conservez une version (la plus récente) de Java). Supprimez également les anciennes entrées Java jre/jdk des anciennes variables PATH/CLASSPATH.
  2. Eclipse-> Fenêtre-> Préférences-> JRE installés-> Ajouter/Modifier JDK depuis la dernière installation
  3. Eclipse-> Fenêtre-> Préférences-> JRE installés-> Environnement d'exécution-> Sélectionnez la version Java souhaitée à gauche et cochez la case à droite.
  4. 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>
    
  5. Faites un clic droit sur le projet Eclipse Maven -> Mettre à jour le projet
0
Bruce