Lorsque j'exécute ma construction Ant dans Eclipse, le message d'erreur suivant s'affiche et la construction Ant échoue.
Message d'erreur: Erreur lors de l'exécution du compilateur javac.exe
Ligne où s'arrête la construction:
<javac destdir="${classes.home}" debug="on" fork="true" memoryinitialsize="512M" memorymaximumsize="1G">
<classpath refid="classpath"/>
<src path="${source.home}"/>
</javac>
Quelqu'un at-il déjà rencontré un problème similaire? ou est-ce que quelqu'un sait ce qui ne va pas ici?
Informations système: Eclipse Helio, JDK 1.5
J'ai eu le même problème et le problème était, dans Eclipse, Java.home faisait référence à JRE au lieu de JDK. Je l'ai changé et la construction était réussie. Vous pouvez procéder comme suit pour le changer en JDK:
Préférences> Java> JRE installés> Ajouter ... Pour "Type de JRE", sélectionnez "VM standard"> Suivant> Répertoire: sélectionnez votre répertoire JDK (au lieu de JRE) (dans mon cas: C:\Program Files\Java\jdk1. 6.0_16), appuyez sur OK.
Maintenant, vous êtes de retour à 'Installed JRE's', sélectionnez le JDK ici aussi.
Le message ci-dessous a aidé à trouver la solution . Java_HOME pointe au mauvais endroit
Si la réponse acceptée ci-dessus ne résout pas le problème pour vous (comme pour moi non plus), après avoir mis à jour Java.home en JDK au lieu de JRE comme suggéré dans la réponse acceptée ci-dessus, cliquez sur Exécuter -> Outils externes - > Configuration des outils externes -> sélectionnez votre build.xml dans le menu de gauche -> sélectionnez l’onglet JRE -> sélectionnez le JDK (dans le menu déroulant) pour l’option du bouton radio Séparer JRE -> Cliquez sur Exécuter.
Cela devrait résoudre le problème.
J'ai eu le même problème et j'ai supprimé l'attribut fork de javac et le problème avait disparu.
Peut-être que le problème de javac est dû au fait que "javac.exe" ne se trouve pas dans votre chemin système, modifiez votre chemin système et ajoutez-y le répertoire/bin de votre JDK pour résoudre ce problème.
Ouvrez une invite de commande ou de shell et essayez de taper: javac pour vérifier si le chemin d'accès au système est défini correctement.
Configurer Eclipse pour qu'il pointe vers JDK au lieu de JRE ne fonctionnait pas pour moi. Après des recherches plus poussées, j'ai résolu ce problème en empêchant le processus de génération de forger . Dans votre build.xml, supprimez l'attribut fork
de la balise <javac>
.
J'ai fait face au même problème, et voici mon conseil, cela aidera peut-être quelqu'un.
En fait, le message Error running javac.exe compiler
signifie que quelque chose s'est mal passé. La question est, quoi exactement. Lorsque Ant exécute une tâche javac
avec l'indicateur fork="true"
, il n'imprime aucun détail d'erreur. Dans mon cas, il ne les a pas imprimées même après avoir ajouté verbose="true"
, comme suggéré ici . La solution consistait à ajouter le drapeau -verbose à la ligne de commande Ant}:
ant -verbose
Après cela, Ant commence à imprimer des messages d'erreur complets, ce qui vous permet de résoudre un problème.
J'ai résolu ce problème en vérifiant mes variables d'environnement dans Windows 7. J'ai constaté que Java_HOME pointe vers C:\Program Files (x86)\Java\jdk1.6.0_31 alors que cela devait être C:\Program Files\Java\jdk1.6.0_31. Si vous voulez savoir comment lisez ceci
Si vous utilisez ant dans Eclipse, cliquez sur Exécuter en tant que -> deuxième option pour Ant, choisissez le chemin JDK et réexécutez la construction.
J'ai enlevé fork = "true" et j'ai dépassé ce morceau de code. Ce qui pourrait être intéressant pour ceux d’entre vous qui ont ce problème, c’est que maintenant, à cette ligne, j’obtiens le résultat:
'Since fork is false, ignoring memoryMaximumSize setting.'
Il peut donc être un problème avec memoryMaximumSize si vous devez conserver votre paramètre fork = "true", comme suggéré ci-dessus.
La réponse acceptée ne fonctionnait pas pour moi . Mais cliquez avec le bouton droit sur in Ant et définissez le Java Runtime Environment (JRE) sur le Jave Development Kit (JDK). ) a travaillé pour moi.
La réponse d'Abhi Rampal est le pas à pas de la même manière que j'ai résolu le problème sur mon Eclipse.
Allez à Exécuter -> Outils externes -> Configuration des outils externes -> sélectionnez votre build.xml dans le menu de gauche -> sélectionnez l’onglet JRE -> sélectionnez le JDK (dans le menu déroulant) pour l’option du bouton radio Séparer JRE -> Cliquez sur Exécuter.
Essayez de changer memorymaximumsize = "1G" en memorymaximumsize = "512M".
Pour moi, c’était les bibliothèques de sauvegarde dans le répertoire WEB-INF/lib. J'avais plusieurs répertoires de lib dans la lib principale. Et le chemin de classe les incluait tous, ce qui rendait la commande javac trop longue.
J'ai supprimé ces répertoires et cela a fonctionné pour moi.
J'ai tout essayé mais rien n'a fonctionné pour moi jusqu'à ce que je règle ( fork = 'non' ou fork = 'faux' dans votre cas) et travaille parfaitement pour moi
Essayez de libérer de la mémoire principale. Fermez les programmes gourmands en mémoire et arrêtez les processus gourmands en mémoire si vous le pouvez.
Nous avons rencontré le même problème sur une machine Windows, alors que localement (sur une machine Unix) tout fonctionnait bien. Fork = true n'a pas aidé non plus, il a abouti à une exception de processus fourche également aussi sur le serveur de construction
Recherche
Après quelques recherches, nous avons compris que le chemin de classe pourrait être trop long ..__ Nous avons recréé la structure exacte du dossier localement sur une machine Windows et nous avons rencontré le même problème et nous avons vu que le chemin de classe était trop long v et -d pour plus de détails sur la durée) et c’est la cause de l’erreur.
Solution
La solution consistait à créer un fichier jar contenant uniquement le manifeste avec toutes les bibliothèques. Voir cette réponse pour plus de détails
J'ai résolu le problème comme ceci:
Mon dossier de départ Java avait un mauvais chemin. Cela aurait dû être C:\Program Files (x86)\Java\jdk1.5.0_15
mais à la place, c'était C:\Program Files (x86)\Java\jdk1.5.0_15\bin
.