web-dev-qa-db-fra.com

La compilation a échoué; voir la sortie d'erreur du compilateur pour plus de détails

Lorsque j'ai essayé de compiler le fichier build.xml, l'erreur ci-dessous frappe:

ÉCHEC DE CONSTRUCTION

C:\Users\workspace\testrepo\src\build.xml:36: Compile failed; see the compiler error output for details.
    at org.Apache.tools.ant.taskdefs.Javac.compile(Javac.Java:1150)
    at org.Apache.tools.ant.taskdefs.Javac.execute(Javac.Java:912)
    at org.Apache.tools.ant.UnknownElement.execute(UnknownElement.Java:291)
    at Sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:601)
    at org.Apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.Java:106)
    at org.Apache.tools.ant.Task.perform(Task.Java:348)
    at org.Apache.tools.ant.Target.execute(Target.Java:390)
    at org.Apache.tools.ant.Target.performTasks(Target.Java:411)
    at org.Apache.tools.ant.Project.executeSortedTargets(Project.Java:1399)
    at org.Apache.tools.ant.Project.executeTarget(Project.Java:1368)
    at org.Apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.Java:41)
    at org.Eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.Java:32)
    at org.Apache.tools.ant.Project.executeTargets(Project.Java:1251)
    at org.Eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.Java:424)
    at org.Eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.Java:138)

Est-ce que quelqu'un peut m'aider ?

15
user1121120

Une erreur de compilation s'est produite plus tôt au cours de la construction. Recherchez cette erreur dans le même fichier journal de sortie et essayez de la corriger. 

5
AbdullahC

Pour voir l'erreur compilée dans l'utilisation du journal ci-dessous, à la commande suivante:

d:\yourdirectory of checkout>ant clean deploy>log.txt

Cela créera un journal complet dans votre répertoire de départ. Alors maintenant, vous pouvez vérifier les erreurs réelles. 

2
vinit bhardwaj

La solution suivante a bien fonctionné pour moi:

1) Définissez la classe suivante:

package somepackage;

import org.Apache.tools.ant.taskdefs.Javac;
import org.Apache.tools.ant.types.Commandline;
import org.Eclipse.jdt.core.JDTCompilerAdapter;

public class JDTCompiler15 extends JDTCompilerAdapter {
    @Override
    public void setJavac(Javac attributes) {
        if (attributes.getTarget() == null) {
                attributes.setTarget("1.6");
        }
        if (attributes.getSource() == null) {
                attributes.setSource("1.6");
        }

        super.setJavac(attributes);
    }
        // THIS METHOD IS RESPONSIBLE FOR PRINGTING THE ERRORS/WARNING.
    @Override
    protected void logAndAddFilesToCompile(Commandline cmd) {
        super.logAndAddFilesToCompile(cmd);
        System.err.println(cmd.toString());
    }

}

2) Ajoutez le paramètre VM suivant: -Dbuild.compiler = somepackage.JDTCompiler15

2
Dudu Yanay

Si vous utilisez Weblogic pour générer le client, vous devez ajouter le fichier "weblogic.jar" du répertoire d'installation dans le chemin de classe supplémentaire afin qu'Ant sache où Ant.tools .... existe.

J'ai le même problème et j'essaie de résoudre ce problème sans l'ajouter en tant que classpath supplémentaire car je copie tous les fichiers jar dans mon projet, mais j'obtiens tout de même cette erreur.

0
Ignacio lucatero

Dans mon cas, il y avait une instruction import inutilisée dans une classe dont le package ne peut pas être trouvé ailleurs mais qui a été copié, car j'ai copié la classe à partir d'un autre de mes projets. Cela est indiqué dans le journal des erreurs en tant que "paquet non trouvé" même si le journal des erreurs lui-même n'était pas clairement défini. Je devais parcourir tous les avertissements générés par le journal dans mon cas.

0
Catherine Austria