Problème pour créer les ".class" en ulisant "ant" via un build

Résolu
karemkadidola Messages postés 9 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 21 février 2012 - 17 avril 2010 à 21:45
karemkadidola Messages postés 9 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 21 février 2012 - 18 avril 2010 à 21:01
Bonjour!
pour avoir une idée globale de la situation. j'ai deux packages. l'un s'appelle "g33142.dames" et l'autre "g33142.dames.console" mon main se trouve dans le deuxième package et son petit nom est "JeuConsole.java"

et ant ne veut pas me créer les .class à partir de mes codes sources.
ci-bas se trouve tous les éléments pour comprendre le probleme

variables environement

ANT_HOME c:\ant

CLASSPATH .;C:\Program Files (x86)\QuickTime\QTSystem \QTJava.zip (à mon avis ceci n'est pas très influançant...)

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

Path %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\ant\bin;%ANT_HOME%\bin;%JAVA_HOME%\bin


P.S si je place juste les .classe obtenus à partir de netbeans dans la dossier "classe" où ant est supposé me créer les .class. là en lancant "ant" tout marche correctement sans problème il éxecute tout le build. mais "ant" lui même n'arrive pas à créer les .class

fichier output (je n'ai pas recopié toutes le lignes)

Adding reference: ant.PropertyHelper
Detected Java version: 1.6 in: C:\Program Files (x86)\Java\jdk1.6.0_19\jre
Detected OS: Windows 7
Adding reference: ant.ComponentHelper
Setting ro project property: ant.file -> C:\Jeu de dames\build.xml
Setting ro project property: ant.file.type -> file
Adding reference: ant.projectHelper
Adding reference: ant.parsing.context
Adding reference: ant.targets
parsing buildfile C:\Jeu de dames\build.xml with URI = file:/C:/Jeu%20de%20dames/build.xml
Setting ro project property: ant.project.default-target -> build
Setting ro project property: ant.project.name -> g33142.dames.console.JeuConsole
Adding reference: g33142.dames.console.JeuConsole
Setting ro project property: ant.file.g33142.dames.console.JeuConsole -> C:\Jeu de dames\build.xml
Setting ro project property: ant.file.type.g33142.dames.console.JeuConsole -> file
Project base dir set to: C:\Jeu de dames
+Target:
+Target: build
Adding reference: ant.LocalProperties
Setting ro project property: ant.project.invoked-targets -> build
Attempting to create object of type org.apache.tools.ant.helper.DefaultExecutor
Adding reference: ant.executor
Build sequence for target(s) `build' is [build]
Complete build sequence is [build, ]

build:

parsing buildfile jar:file:/C:/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/C:/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file

[mkdir] Skipping C:\Jeu de dames\classes because it already exists.
[javac] C:\Jeu de dames\build.xml:9: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

fileset: Setup scanner in dir C:\Jeu de dames\src with patternSet{ includes: [] excludes: [] }
[javac] g33142\dames\Couleur.java added as g33142\dames\Couleur.class doesn't exist.
[javac] g33142\dames\Coup.java added as g33142\dames\Coup.class doesn't exist.
[javac] g33142\dames\CoupFactory.java added as g33142\dames\CoupFactory.class doesn't exist.
[javac] g33142\dames\CoupInvalideException.java added as g33142\dames\CoupInvalideException.class doesn't exist.
[javac] g33142\dames\DeplacementPion.java added as g33142\dames\DeplacementPion.class doesn't exist.
[javac] g33142\dames\Etat.java added as g33142\dames\Etat.class doesn't exist.
[javac] g33142\dames\Jeu.java added as g33142\dames\Jeu.class doesn't exist.
[javac] g33142\dames\Joueur.java added as g33142\dames\Joueur.class doesn't exist.
[javac] g33142\dames\MouvementPionDame.java added as g33142\dames\MouvementPionDame.class doesn't exist.
[javac] g33142\dames\Pion.java added as g33142\dames\Pion.class doesn't exist.
[javac] g33142\dames\Position.java added as g33142\dames\Position.class doesn't exist.
[javac] g33142\dames\PrisePion.java added as g33142\dames\PrisePion.class doesn't exist.
[javac] g33142\dames\console\JeuConsole.java added as g33142\dames\console\JeuConsole.class doesn't exist.
[javac] g33142\dames\console\JoueurConsole.java added as g33142\dames\console\JoueurConsole.class doesn't exist.
[javac] C:\Jeu de dames\src\g33142\dames\console\projetJava skipped - don't know how to handle it
[javac] Compiling 14 source files to C:\Jeu de dames\classes
[javac] Using modern compiler
[javac] Compilation arguments:
[javac] '-d'
[javac] 'C:\Jeu de dames\classes'
[javac] '-classpath'
[javac] 'C:\Jeu de dames\classes;c:\ant\lib\ant-launcher.jar;C:\Jeu de dames;C:\ant\lib\ant-antlr.jar;C:\ant\lib\ant-apache-bcel.jar;C:\ant\lib\ant-apache-bsf.jar;C:\ant\lib\ant-apache-log4j.jar;C:\ant\lib\ant-apache-oro.jar;C:\ant\lib\ant-apache-regexp.jar;C:\ant\lib\ant-apache-resolver.jar;C:\ant\lib\ant-apache-xalan2.jar;C:\ant\lib\ant-commons-logging.jar;C:\ant\lib\ant-commons-net.jar;C:\ant\lib\ant-jai.jar;C:\ant\lib\ant-javamail.jar;C:\ant\lib\ant-jdepend.jar;C:\ant\lib\ant-jmf.jar;C:\ant\lib\ant-jsch.jar;C:\ant\lib\ant-junit.jar;C:\ant\lib\ant-netrexx.jar;C:\ant\lib\ant-nodeps.jar;C:\ant\lib\ant-stylebook.jar;C:\ant\lib\ant-swing.jar;C:\ant\lib\ant-testutil.jar;C:\ant\lib\ant-trax.jar;C:\ant\lib\ant.jar;C:\ant\lib\xercesImpl.jar;C:\ant\lib\xml-apis.jar;C:\Program Files (x86)\Java\jdk1.6.0_19\lib\tools.jar'
[javac] '-sourcepath'
[javac] 'C:\Jeu de dames\src'
[javac] '-g:none'
[javac]
[javac] The ' characters around the executable and arguments are
[javac] not part of the command.
[javac] Files to be compiled:
[javac] C:\Jeu de dames\src\g33142\dames\Couleur.java
[javac] C:\Jeu de dames\src\g33142\dames\Coup.java
[javac] C:\Jeu de dames\src\g33142\dames\CoupFactory.java
[javac] C:\Jeu de dames\src\g33142\dames\CoupInvalideException.java
[javac] C:\Jeu de dames\src\g33142\dames\DeplacementPion.java
[javac] C:\Jeu de dames\src\g33142\dames\Etat.java
[javac] C:\Jeu de dames\src\g33142\dames\Jeu.java
[javac] C:\Jeu de dames\src\g33142\dames\Joueur.java
[javac] C:\Jeu de dames\src\g33142\dames\MouvementPionDame.java
[javac] C:\Jeu de dames\src\g33142\dames\Pion.java
[javac] C:\Jeu de dames\src\g33142\dames\Position.java
[javac] C:\Jeu de dames\src\g33142\dames\PrisePion.java
[javac] C:\Jeu de dames\src\g33142\dames\console\JeuConsole.java
[javac] C:\Jeu de dames\src\g33142\dames\console\JoueurConsole.java
[javac] C:\Jeu de dames\src\g33142\dames\Coup.java:30: illegal character: \169
[javac] abstract Position getDépart();
[javac] ^
[javac] C:\Jeu de dames\src\g33142\dames\Coup.java:30: invalid method declaration; return type required
[javac] abstract Position getDépart();
[javac] ^
[javac] C:\Jeu de dames\src\g33142\dames\Coup.java:36: illegal character: \169
[javac] abstract Position getArrivée();
[javac] ^
[javac] C:\Jeu de dames\src\g33142\dames\Coup.java:36: invalid method declaration; return type required
[javac] abstract Position getArrivée();
[javac] ^
[javac] C:\Jeu de dames\src\g33142\dames\CoupFactory.java:18: illegal character: \169
[javac] public static Coup créerCoup(List positions,Etat etat)throws IllegalArgumentException,
[javac] ^
[javac] ^
[javac] C:\Jeu de dames\src\g33142\dames\DeplacementPion.java:93: illegal character: \168
[javac] if (état.finPièces(BLANC)){
[javac] ^
[javac] 100 errors


BUILD FAILED

C:\Jeu de dames\build.xml:9: Compile failed; see the compiler error output for details.

at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1113)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:906)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
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:1360)
at org.apache.tools.ant.Project.executeTarget(Project.java:1329)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1212)
at org.apache.tools.ant.Main.runBuild(Main.java:801)
at org.apache.tools.ant.Main.startAnt(Main.java:218)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

Total time: 1 second

build.xml



<!--
Cree le fichier d'installation JeuConsole.exe
-->
<target name="build">
<!-- Creation du dossier classes -->
<mkdir dir="classes"/>
<!-- Compilation des classes du programme -->
<javac srcdir="src" destdir="classes"/>
<!-- Creation du dossier install/lib -->
<mkdir dir="install/lib"/>
<!-- Creation du fichier JeuConsole.jar -->
<jar destfile="install/lib/JeuConsole.jar" basedir="classes"/>
<!-- Suppression du dossier classes -->
<delete dir="classes"/>
<!-- Copie du JRE dans le dossier install/jre1.6.0_19 en excluant les fichiersr
inutiles mentionnes dans le fichier README.TXT du JRE
(attention il faut garder le fichier bin/javaw.exe du JRE)
-->
<copy todir="install/jre1.6.0_19">
<fileset dir="C:\Program Files (x86)\Java\jdk1.6.0_19">



<exclude name="lib/charsets.jar"/>
<exclude name="lib/ext/sunjce_provider.jar"/>
<exclude name="bin/rmid.exe"/>
<exclude name="bin/rmiregistry.exe"/>
<exclude name="bin/tnameserv.exe"/>
<exclude name="bin/keytool.exe"/>
<exclude name="bin/kinit.exe"/>
<exclude name="bin/klist.exe"/>
<exclude name="bin/ktab.exe"/>
<exclude name="bin/policytool.exe"/>
<exclude name="bin/orbd.exe"/>
<exclude name="bin/servertool.exe"/>


<exclude name="bin/javacpl.exe"/>
<exclude name="bin/jucheck.exe"/>
<exclude name="bin/jusched.exe"/>
<exclude name="bin/wsdetect.dll"/>
<exclude name="bin/npjava*.dll"/>
<exclude name="bin/npoji610.dll"/>
<exclude name="bin/regutils.dll"/>
<exclude name="bin/axbridge.dll"/>
<exclude name="bin/deploy.dll"/>
<exclude name="bin/jpicom.dll"/>
<exclude name="bin/javacpl.cpl"/>
<exclude name="bin/jpiexp.dll"/>
<exclude name="bin/jpinscp.dll"/>
<exclude name="bin/jpioji.dll"/>
<exclude name="bin/jpishare.dll"/>
<exclude name="lib/deploy.jar"/>
<exclude name="lib/plugin.jar"/>
<exclude name="lib/deploy/messages*.properties"/>
<exclude name="lib/deploy/splash.jpg"/>
</fileset>
</copy>
<!-- Creation du fichier JeuConsole.exe avec Launch4j
-->
<exec executable="C:\Program Files (x86)\Launch4j\launch4jc.exe">

</exec>
</target>




Merci enormement pour votre aide.
P.S le fichiers sources n'ont aucun problèmes ils compilent sans problème via netbeans et sur linux.

2 réponses

benmor Messages postés 49 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 27 novembre 2011 9
17 avril 2010 à 22:06
Bonjour,

Si ça fonctionne sous linux, c'est que t'es fichier sources sont en UTF-8

Dans ton build ANT essai d'ajouter l'attribut encoding à javac:
<javac encoding="UTF-8" [...] />


PS: Généralement, on évite les caractères accentués dans le code :P
3
karemkadidola Messages postés 9 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 21 février 2012
18 avril 2010 à 21:01
merci pour la réponse rapide, voilà j'ai essayé comme suggéré j'ai fait un copier coller et j'ai mis ceci en première ligne d'instruction dans mon build
et voici le message d'érreur

BUILD FAILED
C:\Jeu de dames\build.xml:1: Element type "javac" must be followed by either attribute specifications, ">" or "/>".
3
Rejoignez-nous