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

Format d'échange (XML, JSON...) Java Discussion :

[Digester] [arborescence] [FileNotFound]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut [Digester] [arborescence] [FileNotFound]
    Salut tlm,
    j'ai enfin reussi a gerer comme je l'entendais la conversion d'un fichier XML vers une classe.
    Maintenant tout ne roule pas pour autant. En effet, quand j'ai voulu créer une hierarchie de classes, mon parser s'écroule et me sort un terrible "...FileNotFound...". Autrement dit, quand toutes mes sources étaient dans "(default package)" tout allait pour le mieux (mes fichiers rules.xml et input.xml sont dans un repertoire "xml"). Maintenant que j'ai voulu mettre mes sources dans un repertoire "parserXml", rien ne marche plus...

    +(default package)
    |src1.java
    |src2;java
    +xml
    |rules.xml
    |input.xml

    ===> OK

    MAIS

    +parserXml
    |src1.java
    |src2;java
    +xml
    |rules.xml
    |input.xml


    ===>KO ...
    merci a qui voudra bien m'aider !!!

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    J'ai peut-etre un debut d'explication: je crois que au moment du parsing du fichier xml, le compilateur ne sait pas ou trouver les methodes requises. Une nouvelle question se pose alors : comment fait-on un 'import package' depuis un fichier xml ?

  3. #3
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    C'est le fichier XML que tu veux parser qu'il ne trouve pas ?

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Non, je crois qu'il n'arrive pas à savoir comment instancier les objets qu'il doit crée au moment du parsing. De tête, (j'ai laissé ça de côté pour le moment pour cause de prise de tête ), il me sort un truc du genre "Can't find MyClass". En fait ce qui me dérange, c'est que quand mes sources sont à la racine, tout se passe au mieux. C'est seulement quand j'essaye de rendre mon projet un peu modulaire et que je crée un dossier "src" que survient le drame. J'ai bien l'impression qu'il ne sait plus où trouver les fichiers .CLASS. Une idée ?

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Comment fais-tu référence à tes classes dans les rules ?

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    bah comme il faut je crois ...

    Mon fichier rules.xml
    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
    <?xml version="1.0" encoding="iso-8859-1"?>
     
    <digester-rules>
    	<object-create-rule pattern="mapgame" classname="MapGame" />
    	<set-properties-rule pattern="mapgame" >
    	</set-properties-rule>
     
    	<pattern value="mapgame/settings">
    		<object-create-rule classname="Settings" />
          	<call-method-rule pattern="filename" methodname="setFilename" paramcount="0" />
          	<call-method-rule pattern="tilesize" methodname="setTileSize" paramcount="0" />
          	<call-method-rule pattern="mapwidth" methodname="setMapWidth" paramcount="0" />
          	<call-method-rule pattern="mapheight" methodname="setMapHeight" paramcount="0" />
          	<set-next-rule methodname="setSettings" />
       </pattern>
     
       <pattern value="mapgame/tile">
    		<object-create-rule classname="Tile" />
    		<call-method-rule pattern="index" methodname="setIndex" paramcount="0" />
    		<call-method-rule pattern="walkable" methodname="setWalkable" paramcount="0" />
    		<set-next-rule methodname="addTile" />
    	</pattern>
     
    </digester-rules>
    Et ma classe MapGame:
    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
    package map;
     
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
     
    import javax.imageio.ImageIO;
     
    import display.Display;
     
    /*
     * The MapGame class represents the class of one Map.
     * It contains Settings like height and width (in Tiles) and
     * a "vector" of Tiles which compose it.
     */
    public class MapGame {
     
    	private Settings 					settings;
    	private Tile[][] 					arrayTiles;
    	private ArrayList<BufferedImage> 	arrayImages = null;
    	private Display 					display;
     
    //================
    // Constructor(s):
    //================
     
    	/*
    	 * The constructor who creates the map.
    	 */
    	public MapGame(Display display) {
    		this.display = display;
    	}
     
    	/*
    	 * The constructor who creates the map.
    	 */
    	public MapGame(Display display, Settings settings) {
    		this.display = display;
    		this.settings = settings;
    		this.initArrayTiles();
    		this.initArrayImages();
    	}
    }
    Enfin bon, encore une fois, tout ca marche parfaitement quand mon fichier MapGame.java est a la racine et plante des que je le change d'endroit.
    c_nvy -> Merci beaucoup de m'aider

  7. #7
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Je n'ai jamais défini les règles dans un fichier XML mais as-tu testé en rajoutant le nom du package map devant ta classe MapGame comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <object-create-rule pattern="mapgame" classname="map.MapGame" />

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 166
    Par défaut
    Salut !
    C'était effectivement ça ! Le pire c'est que j'ai trouvé la solution quelques secondes avant que tu me la donnes c_nvy ... j'suis dégouté de nous avoir fait perdre autant de temps pour une si petite broutille ! Merci mille fois encore !!!

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

Discussions similaires

  1. Recuperation Arborescence
    Par ramseb dans le forum HyperFileSQL
    Réponses: 6
    Dernier message: 16/06/2003, 09h52
  2. controle d'arborescence
    Par billyboy dans le forum Windows
    Réponses: 4
    Dernier message: 13/06/2003, 21h19
  3. [VB6] parcourir une arborescence de repertoire
    Par pecheur dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/04/2003, 17h33
  4. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 16h48
  5. arbre de parcour d'arborescence windows
    Par chupachoc dans le forum Composants
    Réponses: 7
    Dernier message: 09/09/2002, 08h09

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