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 :

[ant] copie de fichier + filtrage


Sujet :

ANT Java

  1. #1
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 36
    Par défaut [ant] copie de fichier + filtrage
    Bonjour,

    voici mon (nouveau) probleme :
    je copie un fichier myant.bat d'un repertoire a un autre.
    Dans ce fichier j'ai une propriété @JAVA_HOME@ qui doit changer lors de la copie.
    Pour cela, j'utilise un filterset qui va lire un fichier, qui contient une propriete JAVA_HOME.
    La copie se passe bien, et @JAVA_HOME@ est bien remplacé par la bonne valeur.

    Le probleme arrive qd JAVA_HOME (celui de mon fichier de propriété) fait reference à une autre propriété. Ex:
    home.dir=/home
    JAVA_HOME=${home.dir}/java

    Dans ce cas la, ant m'interprete bien JAVA_HOME, mais lors de la copie, @JAVA_HOME@ est remplacé par ${home.dir}/java, et non /home/java

    SI vous avez une idée...

    Merci

    Nico

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 26
    Par défaut
    salut,
    est-ce que tu pourrais mettre un peu de code pour qu'on puisse t'aider.
    Je vois déjà un premier truc, c'est que JAVA_HOME est une variable réservée. Normalement tu dois la définir comme variable d'environnement. Essai de voir si ton pb persiste en changeant le nom de ta propriété.

    Bon courage.

  3. #3
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 36
    Par défaut
    Concernant le fait que JAVA_HOME soit une variable d'environnement, j'en suis conscient.
    Mais le fait est que je travaille sur différents environnements et donc je ne peux pas utiliser ma variable locale JAVA_HOME qui diffère de celle d'un autre environnement.

    Comme demandé voici un peu de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <copy file="${path.conf}/myant.bat" toFile="${path.dist}/myant.bat">
    			<filterset begintoken="@" endtoken="@">
    				<filtersfile file="${properties.file.wanted}"/>
    			</filterset>
    		</copy>
    Donc mon pb est que dans le fichier ${properties.file.wanted} JAVA_HOME est iniatilisé a ${home.dir}/java avec home.dir une propriété définie avant et que lors de la copie @JAVA_HOME@ est remplacé par ${home.dir}/java (ie home.dir n'est pas interprété).

    Remarque: je prends l'exemple de JAVA_HOME ici mais le pb intervient aussi avec les autres variables que j'utilise.

    Merci

    Nico

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 26
    Par défaut
    resalut,
    je ne sais pas sous quel environnement tu développes, mais en fait ton code me fait penser à un fichier build.xml.
    Ce que je peux te conseiller, car je ne vois pas de quoi ca peux venir d'autres, c'est d'essayer de mettre dans ton fichier ou tu a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <copy file="${path.conf}/myant.bat" toFile="${path.dist}/myant.bat"> 
             <filterset begintoken="@" endtoken="@"> 
                <filtersfile file="${properties.file.wanted}"/> 
             </filterset> 
          </copy>
    jsutement ta variable
    ${home.dir}/java
    On dirait qu'elle n'est pas interprétée justement parce qu'elle n'est pas définie dans le meme fichier.
    J'espère que ca va t'aider.[/code]

  5. #5
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 36
    Par défaut
    En effet, il s'agit bien d'un build.xml (cf le sujet => [ant])

    Pour etre (encore) plus précis, ${properties.file.wanted} est un fichier de propriété que je charge au début de mon build.
    Une fois chargé, j'ai accès (entre autre) a ma variable JAVA_HOME qui est bien interprétée (ie qui pointe vers /home/java)
    Cela est possible car la tache property gere bien ce qu'ils appellent "In-file property expansion".

    Mais lorsque j'utilise la tache filtersfile avec en argument un fichier de propriété, le "In-file property expansion" n'est pas géré :-/, enfin d'apres mon expérience (et mon probleme)

    Nico[/url]

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/08/2011, 14h44
  2. Réponses: 1
    Dernier message: 11/05/2009, 13h47
  3. Réponses: 1
    Dernier message: 25/04/2009, 16h45
  4. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

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