IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ANT Java Discussion :

Exécution d'un prog java depuis Ant


Sujet :

ANT Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 22
    Points
    22
    Par défaut Exécution d'un prog java depuis Ant
    Bonjour à tous,

    Je réalise un build.xml avec Ant. Dans celui-ci, j'appelle un programme java grâce à <java>.

    Ce programme Java est supposé parser un fichier XML, le filtrer, et en créer un nouveau.
    Après avoir fini de développer le prog java, je le lance (depuis mon Ide, eclipse) et aucun soucis n'est apparent.

    Donc, je modifie mon build.xml pour intégrer la task <java> et lorsque je lance mon build.xml, j'ai une erreur sur le programme java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <java classname="entreprise.Controller.Parser" failonerror="true">
    					<classpath>
    						<pathelement location="${working.dir}/build" />
    					</classpath>
    				</java>
    Voici l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
    	at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
    	at agrica.Controller.Parser.main(Parser.java:59)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
    	at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
    	at org.apache.tools.ant.taskdefs.Java.run(Java.java:764)
    	at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:218)
    	at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:132)
    	at org.apache.tools.ant.taskdefs.Java.execute(Java.java:105)
    	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	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.taskdefs.Sequential.execute(Sequential.java:62)
    	at net.sf.antcontrib.logic.IfTask.execute(Unknown Source)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    	at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
    	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	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:357)
    	at org.apache.tools.ant.Target.performTasks(Target.java:385)
    	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    	at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    	at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    	at org.apache.tools.ant.Main.runBuild(Main.java:758)
    	at org.apache.tools.ant.Main.startAnt(Main.java:217)
    	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    Est-ce que quelqu'un aurait une idée de la provenance de cette erreur ?

    Par avance, merci

    Cordialement,
    Nikko

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Points : 170
    Points
    170
    Par défaut
    Depuis ton IDE, tu utilise une librairie apache (org.apache.xerces.jaxp) qui ne doit pas être accessible dans ton classpath comme tu le définie (${working.dir}/build)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Bonjour lucimed,

    Je te remercie pour ta réponse.

    Je n'ai intégré aucune librairie externe dans mon programme. Par conséquent, cela doit-être une librairie "contenue" dans mon Ide.

    Aurais-tu une idée d'où elle pourrait-être ? Car, dans l'absolu, je ne vois aucun endroit... Je continue mes recherches sur cette librairie.

    Cordialement,
    Nikko

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Points : 170
    Points
    170
    Par défaut
    T'as bien dû faire un import org.apache.xerces.jaxp au début de ton programme..
    Sur eclipe, tu fais : Ctrl + clic sur jaxp ce qui t'ouvre les sources où la description si les sources ne sont pas incluses.. et tout au début tu trouve le chemin ver le jar utilisé.
    Sinon tu peux l'avoir sur : http://xerces.apache.org/

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Encore merci pour ta réponse. En fouillant dans mon répertoire d'Eclipse, j'ai trouvé 3 plugins :

    org.apache.xerces_2.9.0.v200909240008.jar

    org.apache.xml.resolver_1.2.0.v200902170519.jar

    org.apache.xml.serializer_2.7.1.v200902170519.jar

    Ne sachant pas vraiment lequel était le bon, j'ai ajouté les 3 à mon classpath de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <java classname="entrprise.Controller.Parser" failonerror="true">
    					<classpath>
    						<pathelement location="${working.dir}/build" />
    						<pathelement location="C:\Documents and Settings\yk2187\Bureau\eclipse\plugins\org.apache.xml.resolver_1.2.0.v200902170519.jar" />
    						<pathelement location="C:\Documents and Settings\yk2187\Bureau\eclipse\plugins\org.apache.xml.serializer_2.7.1.v200902170519.jar" />
    						<pathelement location="C:\Documents and Settings\yk2187\Bureau\eclipse\plugins\org.apache.xerces_2.9.0.v200909240008.jar" />
    					</classpath>
    				</java>
    Du coup, je n'ai plus d'erreur. Mais je pense que je n'ai pas besoin des trois, je vais faire différents test.

    Cordialement,
    Nikko

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter méthode java avec ant
    Par legentil dans le forum ANT
    Réponses: 2
    Dernier message: 07/01/2011, 11h56
  2. Exécuter classe java depuis autre classe
    Par arno21600 dans le forum Général Java
    Réponses: 6
    Dernier message: 21/12/2010, 14h29
  3. Comment exécuter un prog Java sous Oracle
    Par papoulouis dans le forum Interfaces de programmation
    Réponses: 0
    Dernier message: 16/10/2008, 14h26
  4. Executer une application depuis un prog Java
    Par Raadgever596 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 14/03/2008, 16h22
  5. lancer l'exécution d'un prog c depuis un prog python
    Par daff86 dans le forum Interfaçage autre langage
    Réponses: 1
    Dernier message: 03/04/2007, 20h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo