Je ne peux pas exécuter mon Ant build.xml depuis que j'ai mis à jour vers Java 1.7.0_52 (ou environ). Je l'ai exécuté pendant des années via Eclipse localement sur mon ordinateur portable Windows 7 - mais avec cela dernière mise à jour jave jdk quelque chose de différent (?).
BUILD FAILED
C:\workspace\WaterAspectsModel3\build.xml:329: Unable to find a javac compiler;
com.Sun.tools.javac.Main is not on the classpath.
Perhaps Java_HOME does not point to the JDK.
It is currently set to "D:\Morten\Java\jdk1.7.0_52"
Ceci est mon jdk! Java_HOME pointe donc vers un jdk (comme cela ressort également clairement du message d'erreur). J'ai mon Java_HOME avec dossier bin dans mon chemin comme toujours. J'ai configuré Eclipse - configuration d'outils externes - avec un JRE pointant vers le même D:\Morten\Java\jdk1.7.0_52 (via le paramètre "JRE séparé"). Et j'ai essayé un certain nombre d'autres configurations - toutes sans chance.
J'ai lu les tonnes de réponses sur les listes ici et ailleurs et je pense avoir essayé toutes les suggestions. La plupart semblent être des cas où Java_HOME pointe réellement vers un jre et a juste besoin d'être corrigé en jdk ou il y a un ";" dans le chemin ou quelque chose comme ça. Aucun de ces éléments ne semble s'appliquer dans mon cas.
Aucune suggestion?
Le vrai message est que Ant ne peut pas trouver com.Sun.tools.javac.Main
.
Ce qui, avec le fait que le dernier JDK "Sun" (Oracle) est 1.7.0_13 (ou peut-être _14, mais certainement pas le "_52" indiqué par votre répertoire d'installation), me fait penser que vous n'utilisez pas de distribution que Ant reconnaît. Vous pouvez le vérifier en exécutant jar tvf $Java_HOME/lib/tools.jar
, et à la recherche de cette classe.
Le Ant Manual parle de façons de travailler avec différents compilateurs. Comme je n'ai utilisé que des compilateurs "Sun", je crains de ne pouvoir vous donner de pointeurs.
Modifier: vous pouvez également essayer de définir fork="yes"
dans votre fichier de construction. Cela devrait exécuter l'exécutable du compilateur plutôt que d'essayer d'appeler la classe du compilateur.
J'avais le même message lors de l'exécution d'ANT via Eclipse.
Ce qui a fonctionné pour moi:
tools.jar
avait tort. Il pointait vers une ancienne version de Java;La solution "Had to copy C:\Program Files\Java\jdk1.6.0_10\lib\tools.jar to C:\Program Files\Java\jre6\lib\ext
"de ici était très utile et a fonctionné pour moi.
Ajoutez Java_HOME aux variables Eclipse-Preferences-Java-Build Path-Classpath.
Essayez d'ajouter Java_HOME\bin
à ton env PATH
.