J'ai Java_HOME réglé sur
C:\Program Files (x86)\Java\jdk1.6.0_18
Après avoir exécuté maven install, je reçois ce message d’Eclipse:
Raison:
Unable to locate the Javac Compiler in:
C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.Sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the Java_HOME environment variable.
Je suis certain que c'est la partie la plus délicate
Assurez-vous d’utiliser JDK 1.4 ou ci-dessus et pas un JRE
Quand j'exécute la configuration sur JRE6, comment puis-je le changer pour JDK 1.6 que j'ai déjà installé
MODIFIER
J'ai même essayé de modifier le plugin:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
</configuration>
</plugin>
J'ai toujours la même erreur
Peut-être que j'ai oublié de dire que j'utilise Eclipse maven plugin .. comment puis-je passer de JRE à JDK dans Eclipse?
Vous pouvez essayer de mettre à jour le JDK utilisé par Eclipse, comme suit:
Ajoutez et définissez le JRE dans Fenêtre-> Préférences ...-> Java-> JRE installés:
JRE type: Standard VM JRE
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18
Si ce n'est pas le cas, il est possible que les crochets et les espaces dans le chemin Java_HOME posent problème. Essayez de copier votre JDK dans un emplacement différent et de mettre à jour votre Java_HOME.
Eclipse.ini a besoin de l'argument vm pour qu'il pointe vers votre emplacement de jdk.
Editez le fichier Eclipse.ini
pour qu'il pointe vers votre maison jdk, comme suit:
-vm
C:\Program Files\Java\jdk1.6.0_06
Cela garantit qu'Eclipse sera exécuté à partir du JDK et non de tout JRE par défaut sur votre ordinateur.
Tu essayes:
Allez à Preferences/Java/Installed JREs
et ajoutez-en un pour l'emplacement "C:\Program Files\Java\jdk1.6.0_27\jre
ou quelque chose comme ça.
Supprimer celui pour C:\Program Files\Java\jre6
Comme vous pouvez le constater, le chemin C:\Program Files\Java\jre6\..\lib\tools.jar
n’a de sens que si la première partie (jusqu’à ce que/..) soit remplacée par C:\Program Files\Java\jdk1.6.0_27\jre
.
Régler Fork sur true a résolu le problème pour moi.
<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
</configuration>
Merci beaucoup, Sam Yang..vous avez fait ma journée
J'ai eu le même problème EXACT! Je cherchais et cherchais depuis des jours parce que tout le bafouillage de "mettre le -vm c:\programme files\Java\jdkxxxxx\bin" dans l’instance comme argument pour un shortcurt n’a PAS AT ALL heklp! (Est-ce que j'ai l'air frustré? Croyez-moi, c'est un euphémisme! Je suis simplement furieux parce que j'ai perdu une semaine en essayant de rendre Maven fiable!)
J'ai eu un comportement très imprévisible. Parfois, il compilé, parfois non. Si je faisais un maven clean, il ne pourrait pas trouver le compilateur et a échoué. Si j'ai ensuite changé quelque chose dans le chemin de compilation, cela a soudainement fonctionné à nouveau!
Jusqu'à ce que je suis allé à la fenêtre -> préférences -> Java -> JRE installé. J'ai ajouté un nouveau JRE en utilisant l'emplacement du JDK, puis j'ai supprimé le JRE. Soudain, Maven a couru stable!
Cela vaut peut-être la peine de mettre des lettres d’environ 30 caractères dans le manuel d’Apache? Avec tout le respect que je vous dois, c’est tout simplement scandaleux pour la communauté Java! Je ne peux pas imaginer combien de jours ont été perdus par tous ces gens, essayant de résoudre leurs problèmes de ce genre! Je ne peux pas imaginer que ceci soit publié en version finale. Personnellement, je n'oserais même pas publier une telle chose sous le nom de logiciel BETA ...
Bien cordialement ... Après une semaine de manipulation, je peux enfin commencer à me développer. J'espère que mon patron ne saura rien à ce sujet. Il m'a fallu beaucoup d'efforts pour le convaincre de ne PAS aller à .NET et j'en suis déjà désolé.
J'ai eu le même problème en utilisant Run as -> Maven install dans Eclipse. Java_HOME et Eclipse.ini étaient corrects et pointaient vers mon dernier JDK. Mais m2clipse utilisait JRE. Utiliser mvn installer en dehors d’Eclipse a bien fonctionné! Dans mon cas, j’ai résolu le problème comme suit: 1. Naviguez dans Eclipse: Fenêtre -> Préférences -> Java -> JRE installés 2. Il y avait deux entrées inactives pour un JRE et un JDK. Celui qui était actif était le dernier JDK installé. Supprimez toutes les entrées sauf celle que maven doit utiliser.
Je pense que Maven ne prend pas en compte celui qui est actif ...
Je viens d'installer maven 3.0.4, définissez M2_HOME
, M2
et Java_HOME
en conséquence. J'ai ensuite exécuté les commandes suivantes:
mvn archetype:generate....
mvn compile
J'ai eu un message raté tel que: maven unable to locate javac compiler
.
Sur mon ordinateur, jre est installé par défaut sur c:\program files\Java\jre.1.6 . Et l’autre c:\Java\jdk1.6 et Java_HOME
est défini sur ceci c:\Java\jdk1.6 .
Je ne vois rien de mal avec mon réglage. Après avoir cherché, j’ai décidé de regarder dans mvn.bat
, j’ai répercuté %Java_HOME%
à chaque étape et il s’affiche correctement sous la forme C:\Java\jdk1.6
, mais lorsque j’exécute la commande: mvn --version
, il affiche Java home: c:\programmes\Java\jre1.1.6 .
Enfin, j'ai découvert qu'il me suffisait de définir -Djava.home=c:\Java\jdk1.6
comme dans la commande ci-dessous et de bien fonctionner maintenant:
%MAVEN_Java_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%Java_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
J'espère que cela t'aides.
Remarque: Ceci est pour mvn
sur la ligne de commande et non avec Eclipse.
Base sur http://maven.Apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html , vous devrez régler le fork sur true dans votre pom.xml .
Configuration Eclipse uniquement
Effectuez les étapes suivantes:
Clic droit sur les propriétés du projet Eclipse
Chemin de construction Java -> Bibliothèques
Sélectionnez Bibliothèque système JRE -> Cliquez sur le bouton Modifier
Cliquez sur le bouton "JRE installés ..."
Editez JRE comme suit: Définissez JRE Home = Java_HOME ou Java_HOME\jre
ScreentShot:
Merci beaucoup,
Partha
On dirait que Maven utilise le JRE, pas le JDK. Peut-être avez-vous installé Maven avant d'installer le JDK?
Vérifiez les fichiers settings . Il y en a 3 au total, système, utilisateur et projet. C’est le plus souvent dans la configuration d’installation ($ M2_HOME/conf/settings.xml) ou éventuellement dans la configuration par utilisateur ($ {user.dir} /. M2/settings.xml).
J'ai résolu le problème en modifiant l'emplacement de JRE installé dans le répertoire présent dans JDK lui-même. La définition de la valeur correcte de la variable d’environnement Java_HOME
n’a pas résolu le problème.
Dans mon cas, il y a deux répertoires
C:\Program Files\Java\jdk1.7.0_03 --> For JDK
C:\Program Files\Java\jre7 --> For JRE
Initialement, je définissais C:\Program Files\Java\jre7
en tant que JRE installé dans Eclipse et la même erreur se produisait dans le cas de Maven (Ant fonctionnait correctement).
En modifiant le JRE installé en C:\Program Files\Java\jdk1.7.0_03\jre7
en tant que JRE installé dans Eclipse, le problème est résolu.
La solution est simple, parfois la fenêtre Eclipse -> préférence -> Java -> JRE installés pointant vers C:\Program files\Java\jre
, lorsque je l’ai changée en C:\Program files\Java\JDK 6.0\jre
, elle fonctionne à 100%.
Faites un clic droit sur Projet -> Propriétés -> Chemin de construction Java. Sélectionnez le chemin système JRE -> Modifier. Sélectionnez le JRE par défaut de Workspace et pointez-le sur JDK> 1.4.
Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side
Dans mon cas, dans Eclipse Run-> Debug Configurations
In, l'onglet jre a sélectionné le jdk au lieu du jre a résolu le problème.
N'oubliez pas que si vous exécutez votre projet à partir d'une configuration Eclipse particulière, vous devez modifier le runtime Java dans "Configurations d'exécution" -> "Votre configuration maven" -> "Onglet JRE" après avoir ajouté le bon JDK à vos préférences Eclipse.
J'ai eu le même problème sur Amazon Linux. Il s'avère que je devais installer la version de développement du jdk:
Sudo yum -y install Java-1.7.0-openjdk-devel
Accédez à la fenêtre Eclipse -> Préférences ...-> Java -> JRE installée doit pointer vers le JDK que vous avez installé, pas vers le JRE.
Comme mentionné par plusieurs autres, le Window->Preferences...->Java->Installed JREs
Eclipse doit pointer vers leJDKque vous avez installé, not vers le JRE. Ce n’est qu’alors qu’il pourra trouver le dossier ../lib
mentionné dans le message d’erreur.
Même avec cela, le problème peut se reproduire. Mon moyen de sortir dans Eclipse (Juno) est de faire un Maven -> Update project...
après quoi le problème disparaîtra.
Je suppose que la raison en est que certains des fichiers générés par Eclipse (.classpath, .project, .preferences) se trouvent dans Subversion pour le projet dans lequel je rencontre ces problèmes. Ainsi, une mise à jour svn introduit le problème et une mise à jour de la configuration de maven dans Eclipse le résout à nouveau.
Solution réelle: omettez les fichiers .file générés par Eclipse du contrôle de version , et laissez le plugin maven Eclipse gérer la configuration du projet. (des pointeurs/suggestions supplémentaires sont les bienvenus).
J'ai changé la configuration de maven-compiler-plugin pour ajouter un exécutable et fork avec une valeur true.
<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
<executable>C:\Program Files\Java\jdk1.6.0_18\bin\javac</executable>
</configuration>
Cela a fonctionné pour moi.
Sélectionnez Eclipse> Préférences> Java> JRE installés> sélectionnez l’emplacement jre que vous avez désigné, cliquez sur Édition> Ajouter des fichiers JAR externes et sélectionnez le fichier tools.jar.
faire Echo %Java_HOME%
puis mvn --version
JRE
path devrait être identique .... alors allez Window -> preferences - Java - installed jre's
location devrait être identique à ce que Java_Home
affiche.
Assurez-vous que le "-vm" dans votre fichier Eclipse.ini se trouve sur deux lignes distinctes, à savoir:
-vm
C:\Program Files\Java\jdk1.6.0_06
Avait le même problème. Rien de ce qui précède n'a fonctionné, cela a fonctionné pour moi:
Java_HOME modifié de ...\jdk.1.8.0\à ...\jdk.1.8.0\jre \
Si vous définissez Java_HOME et que le problème persiste, essayez ce qui suit: ..__ (le même problème se présentait sur un ordinateur fraîchement installé).
En supposant que vous utilisez Eclipse.
C'est tout. votre projet ne souffrira pas de problèmes particuliers… .. L’espoir est utile.
De nombreuses autres réponses vous indiquent de diriger votre Eclipse vers un JDK au lieu d'un JRE.
Voici une autre réponse plus précise/claire [que je n’ai jamais vue ici], étape par étape, sur la procédure à suivre:Comment installez-vous JDK?
C'est ce qui m'a résolu pour ce même problème.
Allez dans les propriétés en faisant un clic droit sur le projet.
Dans LINKED RESOURCES, ajoutez un nouveau chemin nommé Java_HOME et indiquez l'emplacement de votre jdk, quelque chose comme "C:\Program Files\Java\jdk1.8.0_73".
C'est tout!!
J'ai eu la même erreur, à cause de la version de JUNIT, j'avais 3 3.8.1 et j'ai changé en 4.8.1.
donc la solution est
vous devez aller à POM, et assurez-vous que votre dépendance ressemble à ceci
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
La solution à ce problème est très simple ....
Si vous n'avez pas le fichier de construction ANT, générez-le. Dans Eclipse, vous pouvez facilement créer un fichier ANT.
Consultez le lien pour créer le fichier de construction ANT [ http://www.codejava.net/ides/Eclipse/how-to-create-ant-build-file-for-existing-Java- projet en Eclipse] .
Suivez maintenant les étapes indiquées:
1) Ajoutez votre fichier de construction ANT dans la vue ANT qui est dans la fenêtre de vue.
2) Faites un clic droit sur votre fichier de construction ANT et sélectionnez Run As et la deuxième option de cette "Ant Build".
3) Une boîte de dialogue s'ouvrira avec diverses options et onglets.
4) Sélectionnez l'onglet JRE.
5) vous verrez 3 boutons radio et ils auront JRE ou JDK sélectionnés en option.
6) Regardez attentivement si les options du bouton radio ont JRE comme sélectionné puis changez-le en JDK.
7) Cliquez sur Appliquer.
C'est tout...!!!
Vous devez indiquer Java_HOME
dans mvn.ini
(c'est dans le dossier maven /bin
), et votre problème disparaîtra.
Vous pouvez également vous assurer qu'Eclipse dispose de toutes les modifications mises à jour. Pour ce faire, cliquez avec le bouton droit sur votre projet, puis appuyez sur l'élément de menu "Actualiser".
Je suppose que l'emplacement du compilateur est défini dans un pom pour que le plug-in du compilateur se trouve dans l'emplacement jre affiché, au lieu de l'emplacement jdk sur lequel Java_HOME pointe.