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 :

Pom parents et héritages et échange de propriétés


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 98
    Par défaut Pom parents et héritages et échange de propriétés
    Bonjour...

    J'ai un pom parent dont découlent plusieurs pom enfants.
    J'essaye de faire passer la propriété ${basedir} du pom parent aux pom enfants et c'est le ${basedir} du pom parent qui est pris en considération.

    Quelqu'un a t'il une idées.

    Ceci éviterait que je mette des "../../../../../" entre les balises <sourcedirectory/>.

    D'avance Merci à tous

  2. #2
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Une idée :

    Dans le pom.xml parent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <properties>
        <basedir.parent>${basedir}</basedir.parent>
    </properties>
    Ensuite, dans les enfants, il te suffira d'utiliser ${basedir.parent} pour obtenir le basedir du parent
    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

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Par défaut
    Ta solution ne marche pas. Je l'ai tentée (je suis un collègue de Frédérick). En fait les properties Maven ne sont pas static mais d'instance. Par conséquent chaque POM enfant va faire la résolution de la propriété parent.basedir qui vaudra alors ${basedir} du POM enfant (pour en avoir le coeur net, exécuter la commande mvn help:effective-pom). Par contre je suis arrivé à contourner le problème. Comme on exécute que le Pom Parent, via la commande mvn compile par exemple et à partir du dossier ou il se trouve, le parent.basedir = user.dir java (System.getProperty("user.dir).
    Il manque à Maven la notion de propriété statiques (ce qui est super important à mon sens). Par contre j'ai une autre petite question, est il possible d'utiliser des propriétés définies dans un fichier porperties directement comme propriétés dans les POMs ou sont elles exclusivement réservées dans le cadre du filtrage des ressources ?

  4. #4
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hélas tu rejoins là un de mes problèmes que j'ai eu un temps :

    Je voulais définir toutes les versions de mes pom (projet parent + projet enfants) dans un fichier properties.
    Cela est possible avec Maven 1, mais visiblement pas avec Maven 2...

    Je n'ai jamais trouvé le moyen de définir une information telle que le numéro de version à l'extérieur du pom...
    Donc si quelqu'un a une idée, je serais super prenneur aussi !
    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

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Par défaut
    Je suis prenneur également, je trouve qu'il est dommage qu'ils aient restreint l'utilisation des fichiers properties au filtrage

  6. #6
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    D'autant que cela marchait avec Maven 1...
    C'est ce que j'appelle une régression moi
    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

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Hélas tu rejoins là un de mes problèmes que j'ai eu un temps :

    Je voulais définir toutes les versions de mes pom (projet parent + projet enfants) dans un fichier properties.
    Cela est possible avec Maven 1, mais visiblement pas avec Maven 2...

    Je n'ai jamais trouvé le moyen de définir une information telle que le numéro de version à l'extérieur du pom...
    Donc si quelqu'un a une idée, je serais super prenneur aussi !
    Bonjour, je me permets de remonter cet ancien message pour savoir si quelqu'un avait trouvé une solution à ce problème ou pas encore ?

    Merci d'avance !

Discussions similaires

  1. Réponses: 15
    Dernier message: 01/03/2015, 13h16
  2. Accès aux variables du pom parent
    Par DanielW33 dans le forum Maven
    Réponses: 14
    Dernier message: 30/12/2011, 16h23
  3. [Maven et Eclipse] Où mettre le pom parent ?
    Par Reizz dans le forum Maven
    Réponses: 5
    Dernier message: 18/03/2008, 18h36
  4. Réponses: 1
    Dernier message: 19/03/2007, 11h36
  5. [VB.NET]Héritage : valeur d'une propriété perdue
    Par denilson dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/07/2006, 11h50

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