Je suis en train de compiler un projet dans Eclipse en utilisant m2Eclipse. J'ai défini le chemin JDK dans Eclipse comme ceci:
Windows-->preferences-->installed jres--> jdk1.7.xx path
Mais cela montre une erreur
[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
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-compiler- plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
De plus, vous devrez peut-être changer Maven JRE (voir réponse @ jlars62) comme suit. Allez à Exécuter -> Exécuter les configurations, en sélectionnant la construction Maven que j’exécutais (dans le panneau de gauche). Ensuite, j'ai cliqué sur l'onglet JRE et sélectionné l'option JRE par défaut de Workspace.
Pour moi, c’est exactement ce que se plaint le maven d’Eclipse
Alors, j'appuie sur le bouton Edit
et je change de chemin vers le dossier JDK, puis je nettoie le projet et tout commence à fonctionner
Pour moi, rien n'a fonctionné jusqu'à ce que je modifie mon fichier pom.xml:
<build>
...
<plugins>
...
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
</configuration>
</plugin>
</plugins>
</build>
Autres notes
Je pouvais voir que m2e était exécuté dans une JRE, pas dans le JDK. Rien de ce que j'ai fait n'a changé cela, y compris l'ajout de cela au fichier Eclipse.ini:
-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe
En fin de compte, je n'ai jamais eu à exécuter M2E dans un JDK, mais configurer le compilateur Java explicitement (comme ci-dessus) a tout gâché.
Java_HOME
sur le dossier racine du JDK - nécessaire si vous exécutez la ligne de commande ou maven (mvn
). Java_HOME
pour plus d'informations)Je recevais cette erreur lorsque j'essayais de créer un maven à partir d’Eclipse.
Pour moi, la réponse allait à Run
-> Run Configurations
, en sélectionnant le Maven Build
je courais (dans le panneau de gauche). Ensuite, j'ai cliqué sur l'onglet JRE
et sélectionné l'option Workspace default JRE
.
Dans mon cas, cela a été résolu en procédant comme suit:
Accédez à votre "Configuration d'exécution" et configurez votre JRE sur un JDK.
J'ai copié la réponse au cas où elle serait supprimée pour une raison quelconque, mais la source est ici
Allez dans les fenêtres -> Préférences -> Java -> JRE installés
peut-être que jre est déjà ajouté
cliquez sur Ajouter -> Standard VM -> Suivant -> Répertoire
et recherchez le JDK dans mon chemin de cas était C:\Program Files\Java\jdk1.8.0_111
puis cliquez sur terminer.
vous verrez la fenêtre comme ceci
sélectionnez JDK -> Appliquer -> Ok
Et vous avez terminé.
J'ai essayé tout ce qui précède, cependant, je reçois toujours le même message d'erreur.
Dans mon cas, un JRE réel a été utilisé de manière incorrecte en tant que bibliothèque système JRE dans le chemin de génération spécifique au projet, ce qui annulait évidemment tous les autres paramètres décrits ici.
Si tel est le cas dans votre cas, essayez ce qui suit:
J'ai eu le même problème et je viens d'ajouter Java_HOME
à variables d'environnement .
Java_HOME
, ouvrez la commande Invite à partir du répertoire du projet et exécutez mvn clean install
(n'utilisez pas le terminal intellij).Une alternative si la réponse de jaipster ne fonctionne pas est d'aller à:
Fenêtre> Préférences> Java> JRE installés
Puis éditer le jre pour qu’il pointe vers le jdk et non le jre (jre home classé dans l’éditeur de paquets jre)
Cela a fonctionné pour moi.
Si vous exécutez la commande Maven
à partir de cmd
, assurez-vous de définir le chemin jdk avant d'exécuter la commande. Dans mon cas, j'ai créé un fichier .bat
contenant les éléments suivants:
set Java_HOME=C:\Program Files\Java\jdk1.8.0_60
start cmd.exe /k "cd c:\aem_proj\sis\aau"
J'ai rencontré le même problème en essayant de créer un fichier jar de mon application de projet à l'aide de mvn clean install
, bien que l'application fonctionnait correctement lors de l'exécution d'Eclipse.
Le problème était, en effet, trop naïf, que je n’ai pas défini la variable d’environnement Java_HOME. Tout ce que je devais faire était de définir la variable d’environnement Java_HOME sur le répertoire JDK. Assurez-vous que ce n’est pas avant "\ bin" et sans point-virgule ";".
Comment j'ai compris c'est comme:
L'application fonctionnait correctement sous Eclipse, car la bibliothèque système JRE faisait référence à JRE dans le dossier JDK au lieu du dossier JRE externe sans JDK. [Comme très bien expliqué dans d'autres réponses]
Cette configuration ne s'applique pas à la commande maven exécutée à l'invite de commande. La variable Java_HOME recherchera toujours l'accès à la bibliothèque du système JRE. Si elle n'est pas trouvée, elle fait référence au dossier JRE externe sans JDK.
Il y a plusieurs options à spécifier.
Étapes: Droit sur le projet dans l'explorateur de projet. Choisissez Exécuter-> Exécuter la configuration -> Cliquez sur Construire Maven -> Cliquez sur votre config de construction/ou créez une nouvelle config. Vous verrez la fenêtre comme instantané donné ci-dessous, cliquez sur l'onglet JRE.
Vous voyez que vous avez 3 options 1) Espace de travail JRE par défaut 2) Environnement d'exécution 3) Autre JRE 1) Le JRE par défaut de l’espace de travail est défini dans le menu "Fenêtre" en haut -> Préférences -> Java -> JRE installés - Ici, vous pouvez ajouter votre jdk 2) Environnement d'exécution jdk peut être défini dans pom.xml comme indiqué par @ksnortum
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
</configuration>
</plugin>
</plugins>
3) Vous pouvez utiliser un autre JRE pour sélectionner un jdk dans votre répertoire.
Pour moi, le JRE était dans la variable d'environnement PATH avant le chemin JDK
Donc j'ai enlevé 1. Probablement les échanger réglerait ça aussi.
Ma réponse concerne l’Eclipse sous Windows.
Je suis allé dans Préférences -> Java -> JRE installés Je n'ai pas vu le JDK ici. J'ai seulement vu le JRE ici. J'ai donc ajouté le JDK puis décoché le JRE. Puis vérifié JDK. J'ai ensuite exécuté le fichier POM à l'aide de Run Configurations. Choisissez l'onglet JRE et sélectionnez l'option "Espace de travail par défaut ..." Voici les images
Énoncé du problème = Aucun compilateur n'est fourni dans cet environnement. Peut-être que vous utilisez un JRE plutôt qu'un JDK? intellij
Solution
Veuillez régler le Environment variabl e comme ci-dessous pour résoudre le problème.
Nom de la variable: Java_HOME
Valeur de la variable: C:\Program Files\Java\jdk1.8.0_202
Nom de la variable: M2_HOME
Valeur de la variable: C:\Program Files\Apache-maven-3.6.0
En outre, Ajoutez Java et le chemin maven dans "Variables système" comme ci-dessous:
C:\Program Files\Java\jdk1.8.0_202\bin
C:\Program Files\Apache-maven-3.6.0\bin
J'ai une solution.
La solution la plus courante à ce problème consiste à changer l'emplacement de jdk en tant que mon JRE installés au lieu du emplacement du JRE mais cela n’a pas résolu mon problème cette fois-ci.
Alors j'ai fait le ci-dessous pour résoudre le problème. Développez l'onglet JRE installé et vous trouverez un environnements d'exécution onglet.
Cliquez sur votre environnement d'exécution préféré. Dans mon cas, c'était JAVASE-1.8 . Là, il montre 2 options. JDK et JRE . Sélectionnez JDK et le problème est résolu.
Il existe une autre réponse possible à cette question, et je suis peut-être la seule personne assez idiote pour l'avoir trouvée par hasard, mais je pense que cela vaut la peine d'être ajoutée, car aucune des autres réponses ne s'appliquait car j'avais déjà ces paramètres corrects.
Lorsque vous installez un kit JDK, le programme d'installation vous demande où vous souhaitez installer les fichiers. Par défaut, sous Windows, cela ressemble à quelque chose comme C:\Program Files\Java\jdk1.8.0_74 (ou quelle que soit la version que vous installez).
Il vous demande ensuite un répertoire pour installer le JRE, qui ressemble par défaut à quelque chose comme C:\Program Files\Java\jre1.8.0_74.
Notez que l'un est jdk 1.8.0_74 et l'autre est jre 1.8.0_74
J'étais pressé et pensant que le programme d'installation me posait la même question deux fois, définissez les emplacements d'installation de mes JDK et JRE sur D:\devtools\jdk\jdk1.8.0_74, ce qui a pour effet de remplacer le JDK par le JRE. Cela a entraîné (entre autres choses) un javac.exe manquant dans ma corbeille JDK et la même erreur rapportée ici par l'OP dans toutes mes versions maven.
Je viens de perdre 3 heures avec ce problème jusqu'à ce que je réussisse à le faire fonctionner. J'ai eu cette erreur dans le terminal Eclipse lors de l'émission d'une commande de compilation mvn:
Aucun compilateur n'est fourni dans cet environnement. Peut-être que vous utilisez un JRE plutôt qu'un JDK?
J'ai donc lu ici que je dois créer une nouvelle variable système appelée Java_HOME et la faire pointer vers le dossier d'installation de jdk. Cependant, cela a généré une autre erreur:
L'option source 1.5 n'est plus prise en charge. Utilisez 1.6 ou plus tard
Impossible de trouver un correctif pour celui-ci alors ...
Le correctif pour résoudre le problème est d'installer Java SE Development Kit 8! J'utilisais 9 en pensant que si c'était le cas au plus tard ça doit être mieux ...
En tous cas...
Installez JDK8 à partir d’ici: http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html
Définissez ensuite la valeur environnementale du système Java_HOME - tutoriel ici: https://docs.Oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/
Redémarrez Eclipse et profitez-en! (du moins c'est ce que j'ai fait)
En espérant que cela épargne à un pauvre vagabond quelques ennuis.
Dans mon cas, le chemin de la variable système avait l'emplacement "C:\ProgramData\Oracle\Java\javapath".
Dans l'emplacement "C:\ProgramData\Oracle\Java\javapath", javaw uniquement. Donc, je reçois la même erreur.
Une fois que j'ai supprimé tous les fichiers du dossier "C:\ProgramData\Oracle\Java\javapath", mon erreur a été résolue.
Je recevais la même erreur lorsque j'ai créé une nouvelle instance EC2 ubuntu 16.04 avec Java déjà installé dessus et lors de l'exécution de mvn clean package, j'ai rencontré ce problème et la solution ci-dessous a fonctionné pour moi.
Si vous travaillez sur un serveur Ubuntu, vous pouvez alors essayer d’installer à nouveau Java et vous pouvez utiliser la réponse suivante Comment installer le JDK sur Ubuntu Linux
Essaye ça.
<build>
...
<plugins>
...
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<fork>true</fork>
<executable> path to jdk \bin\javac.exe</executable>
</configuration>
</plugin>
</plugins>
</build>
Ajouter une nouvelle définition JRE (sélectionnez le chemin JDK), a fonctionné pour moi.
j’ai ajouté le chemin jre uniquement dans le chemin var, pas le chemin jdk. Quand jdk chemin a été ajouté au chemin et que le projet maven a fonctionné parfaitement, merci à tous.
J'ai essayé la plupart des réponses sans succès. Ce qui a fonctionné pour moi a été (après avoir suivi https://stackoverflow.com/a/21279068/240889 ):
Bien que la question concerne l’erreur liée à l’installation de Eclipse
, mais que vous pensiez pouvoir résoudre le problème avec IntelliJ
, l’installation de Windows 10 peut également être utile ici.
1 . Allez à File
-> Settings
-> Build, Execution, Deployment
-> Build Tools
-> Maven
-> Importing
2 . Définissez JDK
pour Importer
comme indiqué ci-dessous sur Java_HOME
De plus, Java_HOME
doit être défini sur JDK
chemin dans Variables d'environnement -> Variables système et ajouter %Java_HOME%\bin
à Path, variables système.
En plus de la réponse ci-dessus, je pourrais dire que juste essayer de lancer Maven depuis le terminal (en dehors d’Eclipse). De cette manière, si elle se construit de l'extérieur mais pas dans Eclipse, vous pouvez comprendre que le problème doit être lié à Eclipse.
Il existe plusieurs réponses à cette question, mais toutes sont liées à la configuration du chemin correct de JDK, mais avec JRE uniquement, nous pouvons résoudre ce problème.
Nous avons juste besoin de faire appel à déploiement Assembly pour configurer le chemin du fichier war empaqueté du projet Java EE, puis réexécuter maven-install.
Étapes à suivre pour utiliser le déploiement Assembly:
Faites un clic droit sur le projet Jave EE -> cliquez sur Propriétés -> cliquez sur Assemblage de déploiement
Cliquez sur le bouton Ajouter -> Cliquez sur Archives dans le système de fichiers -> Cliquez sur suivant -> Cliquez sur Ajouter -> Allez au répertoire .m2\respository et recherchez le fichier war généré -> Sélectionnez le fichier war -> Cliquez sur le bouton Ouvrir -> Cliquez sur Appliquer -> OK
Faites un clic droit sur le projet -> Cliquez sur Installer Maven sous Exécuter en tant que
Cela construira votre projet avec succès, sans aucune erreur de compilation.
J'espère que cela résoudra le problème sans JDK.
Je suis allé dans Préférences -> Java -> JRE installés Je n'ai pas vu le JDK ici. J'ai seulement vu le JRE ici. J'ai donc ajouté le JDK.
ici, nous devons obligatoirement supprimer JRE au lieu de simplement décocher.
Vous manque-t-il une version maven?.
Mis à part les modifications JRE précédentes, je rencontrais toujours le même problème. Il me manquait une dépendance à JUnit après l’ajout, cela fonctionnait bien.
J'espère que cela aidera.