build Maven a échoué: Impossible de trouver le compilateur Javac dans: jre ou question jdk

StackOverflow https://stackoverflow.com/questions/2222560

  •  19-09-2019
  •  | 
  •  

Question

J'ai mon JAVA_HOME réglé sur

C:\Program Files (x86)\Java\jdk1.6.0_18

Après je cours maven installer je reçois ce message d'éclipse:

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

  

S'il vous plaît vous assurer que vous utilisez JDK 1.4   ci-dessus et       pas un JRE

Quand je lance la configuration de son ensemble à JRE6, comment puis-je changer pour JDK 1.6 que je l'ai déjà installé

EDIT

J'ai même essayé de modifier le plug-in:

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

Cependant, je reçois la même erreur

Peut-être que j'oublié de dire que j'utiliser Eclipse plugin Maven .. Comment puis-je passer de JRE à JDK éclipse?

Était-ce utile?

La solution

Vous pouvez essayer de mettre à jour l'Eclipse JDK utilise, comme suit:

Ajoutez et définissez le JRE dans Fenêtre-> Préférences ...-> Java-> JREs 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 supports et les espaces dans le chemin JAVA_HOME causent des problèmes. Essayez de copier votre JDK à un autre endroit et mettre à jour votre JAVA_HOME.

Autres conseils

eclipse.ini a besoin de l'argument vm pour pointer vers votre emplacement jdk.

Modifier le fichier eclipse.ini pour pointer vers votre maison jdk, quelque chose comme suit: -

-vm
C:\Program Files\Java\jdk1.6.0_06

Cela garantit que Eclipse serait en cours d'exécution au large de la JDK et pas JRE par défaut sur votre machine.

Vous essayez:

Aller à Preferences/Java/Installed JREs et ajouter un pour l'emplacement "C:\Program Files\Java\jdk1.6.0_27\jre ou quelque chose comme ça.

Supprimer l'un pour C:\Program Files\Java\jre6

Comme vous pouvez le voir, le chemin C:\Program Files\Java\jre6\..\lib\tools.jar n'a de sens que si la première partie (jusqu'à ce que le / ..) est remplacé par C:\Program Files\Java\jdk1.6.0_27\jre.

Réglage de la fourche à true tranché la question pour moi.

<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
</configuration>

Merci beaucoup, Sam Yang..you fait ma journée

J'avais EXACT le même problème! La recherche et la recherche Been pour les jours parce que tout le brouhaha de « mettre le -vm c: \ program files \ java \ jdkxxxxx \ bin » dans le ini ar comme argument pour une shortcurt n'a pas du tout heklp! (Est-ce que je sonne frustré? Croyez-moi, c'est un euphémisme! Je suis tout simplement furieux parce que je perdais une semaine en essayant de faire Maven fiable!)

J'ai eu un comportement très imprévisible. Parfois, il a compilé, parfois pas. Si je l'ai fait un maven propre, il le compilateur et échoué n'a pas pu trouver. Si je puis changé quelque chose dans le chemin de la construction, il a soudainement travaillé à nouveau !!

Jusqu'à ce que je suis allé à la fenêtre -> Préférences -> Java -> installé Environnement Java. J'ai ajouté un JRE en utilisant l'emplacement du JDK, puis enlevé le JRE. Soudain maven couru stable!

Peut-être cela vaut mettre en correspondance avec la taille de police 30 ou alors dans le manuel apache? Avec tout le respect, cela est tout simplement scandaleux pour la communauté java! Je ne peux pas imaginer combien de jours ont été perdus par tous ces gens, en essayant de résoudre leurs problèmes de ce genre! Je ne peux pas imaginer peut-être cela est sorti en version finale. Personnellement, je n'ose même de libérer une telle chose sous le nom de logiciel BETA ...

Amitiés de toute façon .... Après une semaine de manipulation, je peux enfin commencer à développer. J'espère que mon patron ne va pas savoir à ce sujet. Il m'a fallu beaucoup d'efforts pour le convaincre de ne pas aller à .NET et je me sens déjà désolé à ce sujet.

Je suis le même problème en utilisant Exécuter en tant que -> Maven installer dans Eclipse. JAVA_HOME et eclipse.ini étaient OK et pointant vers mon dernier JDK. Mais m2clipse utilisé JRE. L'utilisation mvn installer en dehors d'Eclipse a bien fonctionné! Dans mon cas, je résolu le problème comme suit: 1. Naviguer dans Eclipse: Fenêtre -> Préférences -> Java -> JREs installés 2. Il y avait deux entrées inactives pour un JRE et JDK. Celui actif a été le dernier JDK installé. Supprimer toutes les entrées, mais celui maven doit utiliser.

Je pense que Maven ne prend pas en acount qui est actif ...

Je viens d'installer Maven 3.0.4, définissez M2_HOME, M2 et JAVA_HOME en conséquence. J'ai alors couru les commandes suivantes:

mvn archetype:generate....

mvn compile

Je suis tombé en panne, comme un message: maven unable to locate javac compiler.

Sur mon ordinateur, je défaut jre installer à c: \ program files \ Java \ jre.1.6 . Et je l'autre c: \ java \ jdk1.6 et à cette JAVA_HOME mettre c: \ java \ jdk1.6 .

Je ne vois rien de mal avec mon réglage. Après la recherche, j'ai décidé de regarder dans mvn.bat, répétai-je %JAVA_HOME% chaque étape et il affiche correctement comme C:\java\jdk1.6 mais quand je lance la commande: mvn --version, il affiche Java accueil: c: \ program files \ java \ jre1.1.6 .

Enfin, je trouve que j'ai juste besoin de mettre -Djava.home=c:\java\jdk1.6 comme dans la commande ci-dessous, et fonctionne bien 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%

Hope this helps.

Note:. Ceci est pour mvn en ligne de commande et non avec Eclipse

http: // maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html, vous devrez mettre la fourche à true dans votre pom.xml.

J'ai résolu le problème en modifiant l'emplacement du JRE installé dans le répertoire présent dans JDK lui-même. Réglage 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

Dans un premier temps, je mis C:\Program Files\Java\jre7 comme installé dans Eclipse JRE et je recevais la même erreur en cas de Maven (Ant fonctionnait très bien).

En changeant le JRE installé à C:\Program Files\Java\jdk1.7.0_03\jre7 comme installé dans Eclipse le JRE problème est résolu.

Configuration Eclipse seulement

Procédez comme suit:

  1. Clic droit sur les propriétés du projet Eclipse

  2. Chemin de génération Java -> Bibliothèques

  3. Sélectionnez Bibliothèque système JRE -> Cliquez sur le bouton Modifier

  4. Cliquez sur le bouton "JREs installés ..."

  5. Modifier comme JRE: Set Accueil = JAVA_HOME JRE ou JAVA_HOME \ jre

ScreentShot:

entrer image description ici

Merci beaucoup,

Partha

Faites un clic droit sur le projet -> Propriétés -> Chemin de compilation Java. Sélectionnez le chemin système JRE -> Modifier. Sélectionnez le JRE par défaut de l'espace de travail et pointer vers JDK> 1.4

Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side

La solution est simple, quelques fois les fenêtres éclipse -> Préférences -> Java -> JREs installés pointant vers C:\Program files\Java\jre, quand je l'ai changé pour C:\Program files\Java\JDK 6.0\jre il fonctionne à 100%.

Comme mentionné par plusieurs autres, le Window->Preferences...->Java->Installed JREs Eclipse devrait pointer vers JDK vous avez installé, pas à la JRE. Alors seulement, il peut trouver le dossier ../lib mentionné dans le message d'erreur.

Même avec cela, le problème peut se reproduire. Mon chemin dans Eclipse (Juno) est de faire un Maven -> Update project... après quoi le problème disparaît.

Je soupçonne que la raison est que certains des fichiers générés Eclipse (.classpath, .project, .preferences) sont dans la subversion du projet dans lequel je vais avoir ces problèmes. Ainsi, une mise à jour svn introduit le problème, et une mise à jour de configuration de Maven dans Eclipse résout à nouveau.

Véritable solution: omettre Eclipse généré .files de contrôle de version , et que l'éclipse plugin Maven configuration du projet de poignée. (pointeurs supplémentaires / suggestions bienvenues) .

Ne pas oublier que si vous exécutez votre projet à partir d'une configuration Eclipse particulière, vous devez modifier le Java Runtime dans les 'Run Configurations -> « Votre configuration Maven » -> « tab'after vous ajoutez JRE la droit à vos JDK préférences Eclipse.

Dans mon cas, en éclipse Run-> Debug Configurations Dans l'onglet sélectionné jre jdk au lieu du jre a résolu le problème.

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

Aller à l'Eclipse Fenêtre-> Préférences ...-> Java-> JREs installés doivent pointer vers le JDK installé, pas JRE.

Je suppose que l'emplacement du compilateur est défini dans un pom pour le plug-in du compilateur pour être dans l'emplacement jre affiché, au lieu de l'emplacement jdk vous avez JAVA_HOME pointant.

Si vous définissez JAVA_HOME, et le problème persiste essayez ce qui suit. (I eu le même problème, sur un PC frais installé.)

En supposant que vous utilisez Eclipse.

  • Ouvrir la fenêtre - Préférences - java - installé Environnement Java supprimer tout ce que vous avez là, ajoutez souhaité que vous souhaitez utiliser (JDK, pas JRE!)
  • Dans la même fenêtre ouverte maven - installations, ajoutez l'installation de Mave que vous avez téléchargé et décompressé quelque part. (NE PAS UTILISER l'installation de Maven intégré, il a quelques bugs connus)

C'est tout. votre projet ne souffrira pas de problèmes Sutch. L'espoir aide.

Vous pouvez également vous assurer que Eclipse a tous les changements mis à jour. Pour ce faire, cliquez droit sur votre projet et puis appuyez sur l'élément de menu « Actualiser ».

Vous devez indiquer dans JAVA_HOME mvn.ini (il est dans le dossier maven /bin), et votre problème disparaîtra.

Beaucoup d'autres réponses vous indiquer votre Eclipse à un JDK au lieu d'un JRE.

Voici une autre réponse plus spécifique / claire [que je ne l'ai vu dans une réponse ici] étape par étapes sur comment faire: Comment installer JDK?

Voilà ce que me résoudre pour ce même problème.

J'ai eu la même erreur, à cause de la version JUnit, j'avais 3       3.8.1 et je l'ai changé à 4.8.1.

de sorte que la solution est

vous devez aller à POM, et assurez-vous que vous la dépendance ressemble à ceci

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.1</version>
  <scope>test</scope>
</dependency>

J'ai changé la configuration de maven-plugin-compilateur pour ajouter exécutable et une fourchette avec la 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>

Il a travaillé pour moi.

Make sure the "-vm" in your eclipse.ini is on two sperate lines, ie:

-vm
C:\Program Files\Java\jdk1.6.0_06

do Echo %JAVA_HOME%
then mvn --version

JRE path should be same.... then go Window -> preferences - java - installed jre's
location should be same as what Java_Home is showing.

Go to the Properties making right click on the project.

In LINKED RESOURCES add a new Path called JAVA_HOME and put your jdk location, something like "C:\Program Files\Java\jdk1.8.0_73"

That's all!!

Solution to this problem is very simple....

If you don't have ANT build file then generate it. In eclipse you can easily create a ANT file.

Refer to the link to create ANT build file [http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse].

Now follow the given steps:

1) Add your ANT build file in ANT view that is in view window.

2) right click on your ANT build file and select Run As and the second option in that "Ant Build".

3) Now a dialog box will open with various options and tabs.

4) Select the JRE tab.

5) you will see 3 radio buttons and they will be having JRE or JDK selected as an option.

6) Look carefully if the radio button options are having JRE as selected then change it to JDK.

7) Click apply.

That's it...!!!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top