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

Maven Java Discussion :

Récupérer une seule propriété du pom pour changer une propriété d'un fichier properties


Sujet :

Maven Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut Récupérer une seule propriété du pom pour changer une propriété d'un fichier properties
    Bonjour,

    Je cherche à automatiser une opération que je fais dans mon projet. Je veux que la version de mon projet soit, à la phase generate-resources, renseignée dans un fichier myapp.properties de mon application.

    Maven-properties-plugin et son goal write-project-properties m'ont l'air d'être une piste mais le plugin écrit dans le fichier l'ensemble des properties du pom: impossible de prendre juste la version.

    Y-a-t-il avec le plugin ant et les tâches une méthode pour que ma propriété
    versionAppli soit modifiée selon la version donné dans le pom?

    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut précision?
    Bonjour,

    Est-ce que ma question est mal formulée ou trop basique?
    Quelqu'un a-t-il une idée sur le sujet?

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Si je comprends bien, tu veux filtrer un fichier (i.e. remplacer les ${...} par leur valeur), mais en ne remplaçant qu'une seule des propriétés et pas les autres, c'est ça ?

    A priori, ce n'est pas possible simplement. On peut toutefois bidouiller avec le plugin antrun pour faire exécuter une task Ant qui irait modifier le fichier en question et remplacer ta variable avec ton environnement.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut réutiliser une propriété de pom
    Je te remercie pour la réponse.
    Alors est ce que ça veut dire que mon utilisation du pom est marginale?
    Lorsque mon appli se lance je veux afficher la version en cours dans un coin de l'interface: vous n'avez pas des cas d'utilisation similaires?
    Il faut que je fasse un parseur ou que je modifie forcément manuellement?

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Euh non, je crois que j'avais pas tout à fait compris ton problème.

    C'est en fait très simple.
    Dans un fichier properties, tu renseignes ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon.appli.version=${project.version}
    Ensuite, dans ton pom.xml, tu indiques que Maven doit filtrer ce fichier (je considère que ton fichier properties est stocké dans src/main/resources) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    Ainsi, lors du build, ton fichier properties (qui sera contenu dans ton JAR) va être filtré par Maven, et va donc remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon.appli.version=${project.version}
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon.appli.version=1.2.3
    Après, il ne te reste plus qu'à lire, dans ton code Java, la valeur de cette propriété.
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 21
    Points
    21
    Par défaut Top: pb réglé
    Je dis c'est simple, je dis ça marche: je dis merci!

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par decode Voir le message
    Je dis c'est simple, je dis ça marche: je dis merci!
    il te manque une étape : je clique sur
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/06/2015, 13h53
  2. Récupérer un fichier html pour changer une div de la page en cours
    Par 69Pierre dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 24/04/2015, 21h16
  3. [MVVM] Méthode pour changer une propriété
    Par Krustig dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 20/05/2009, 11h36
  4. [MSSQL] Problème pour sélectionner une seule occurence
    Par Tinfolley dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/07/2004, 09h02
  5. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58

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