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