j'ai créé un projet d'application Web à l'aide de maven dans Eclipse. quand j’exécute la commande mvn package in command invite-le en affichant l’erreur suivante.
[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: 4.310s
[INFO] Finished at: Tue Mar 05 14:32:23 IST 2013
[INFO] Final Memory: 16M/218M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project Compilation fa
ilure
[ERROR] ***No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?***
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/MojoFailureException
j'ai essayé de changer jdk et jre. mais ne fonctionne pas. toujours montre la même erreur
Dans Windows 7 - 64 bits , il existe un problème de permissions empêchant le programme d'installation de décompresser le fichier C:\Program Files\Java\jdk1.6.xx\lib\tools.jar
dans votre répertoire local. Ce fichier jar est ce que maven-compiler-plugin
version 3.x utilise à la place de la javac
habituelle
Solution: Exécutez, en tant qu'administrateur, le programme d'installation du JDK Java! Et assurez-vous que le tools.jar
est assis dans le C:\Program Files\Java\jdk1.6.xx\lib\
Si vous utilisez le plug-in d'intégration m2e maven, vous souhaitez voir le fichier visible par Eclipse en procédant comme suit:
Puis configurez le maven à travers ces étapes:
Essaye ça. Allez dans Fenêtre -> Préférences -> Java -> JRE installés.
Double-cliquez sur le JRE, qui est à l'intérieur des JRE installés.
Indiquez le chemin d'accès au JDK (par exemple, C:\Program Files\Java\jdk1.7.0_80\
) dans JRE Home et nommez JRE sous le nom JDK . Cliquez sur Terminer, puis sur OK.
Pour moi cela a fonctionné.
Ce qui a fonctionné pour moi (Windows 7 32 bits) a été d’ajouter ce qui suit à votre variable d’environnement de chemin:
% Java_HOME%\lib;
Dans mon cas, l'erreur "Aucun compilateur n'est fourni dans cet environnement. Peut-être que vous utilisez un JRE plutôt qu'un JDK" était due au fait que le JRE avait été installé dans un emplacement différent de celui par défaut sous le JDK.
Sous Linux 64 bits, le JDK SE 1.6.0_45 d'Oracle 64 bits d'Oracle est installé à /opt/Java
. Les JRE 32 et 64 bits ont été installés à /opt/Java/jre32
et /opt/Java/jre64
, avec un lien symbolique jre: (c'est-à-dire ln -s jre64 jre
), sojre ->
./Jre64(meaning
/opt/jdk/jrewas a symlink referencing
/opt/jdk/jre64).
Une fois que j'ai renommé jre64 en jre (c.-à-d. rm jre ; mv jre64 jre ; ln -s jre jre64
), ce problème a disparu. et j'ai été capable de construire en utilisant maven (à l'intérieur de netbeans).
Maven semble regarder le chemin de JRE, en disant "jre64 n'est pas le nom correct pour une installation JRE-inside-of-JDK par défaut, donc supposons qu'un JDK n'existe pas à ../"), ce qui l'empêcherait de résoudre l’emplacement du répertoire JDK lib contenant tools.jar, etc.
Je ne l'ai pas testé, mais la même chose pourrait arriver sous Windows si le JRE n'est pas à l'emplacement par défaut (ou peut-être pas dans le répertoire %Java_HOME%\jre
). Si le JDK et le JRE sont installés, le programme d'installation d'Oracle souhaite installer le JRE à %Java_HOME%\jre6
et non pas à %Java_HOME%\jr
e. C'est peut-être parce que le répertoire \jre
est nécessaire au processus de désinstallation de JDK; Si le JRE a été installé sur le JRE du JDK dans le répertoire \jre
, au lieu de \jre
6, désinstaller le JDK après la désinstallation du JRE échouera sauf si le répertoire\jre est copié, JRE est désinstallé et la copie \jre
est restaurée dans \jre
.
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 configuration/ou créez une nouvelle configuration. Vous verrez la fenêtre comme instantané donné ci-dessous, cliquez sur l'onglet JRE.
Vous voyez que vous avez 3 options 1) JRE par défaut de l’espace de travail 2) Environnement d’exécution 3) JRE alternatif 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 - Vous pouvez y ajouter votre jdk 2) Environnement d'exécution jdk peut être défini dans 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>
3) Vous pouvez utiliser un autre JRE pour sélectionner un jdk dans votre répertoire.
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 dossier était C:\Program Files\Java\jdk1.8.0_111
puis cliquez sur terminer.
vous verrez la fenêtre comme ça
sélectionnez JDK -> Appliquer -> Ok
Et vous avez terminé.
Aller au preferences>installed JRE>
puis cliquez sur add
sélectionnez C:\program files\Java\
appuyez sur enter
il recherchera d'autres jre que jdk puis choisira ce qui n'est pas sélectionné
pour définir le chemin de la manière suivante
conservez le chemin de jdk en premier dans la variable de chemin, de sorte que les autres chemins Java soient ignorés. erreur de compilation sera résolu.
Après avoir créé un deuxième espace de travail pour travailler dans une branche de code source distincte, je me suis trouvé dans une situation étrange où je pouvais créer une construction Maven à partir de la ligne de commande dans le nouvel espace de travail, mais pas dans Eclipse. J'ai essayé de définir la configuration du JRE sur le JDK comme décrit par d'autres, mais toujours pas de chance. J'ai finalement dû chercher dans tout le contenu du répertoire .metadata du nouvel espace de travail pour trouver les fichiers incriminés qui ont refusé d'être reconfigurés. Le principal coupable était
.plugins/org.Eclipse.core.runtime/.settings/org.Eclipse.jdt.launching.prefs
Il indiquait toujours le mauvais répertoire malgré mon changement de configuration. J'ai effectué une édition manuelle pour fournir le nom et l'emplacement correct du JDK. J'ai également édité les fichiers sous
.plugins/org.Eclipse.debug.core/.launches
Ils ont également tous fait référence à la JRE au lieu du JDK. Une fois ces modifications effectuées, je pouvais créer des projets dans le deuxième espace de travail à partir d’Eclipse, et pas uniquement à partir de la ligne de commande.