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 :

[MAVEN] Utilisation des archetypes


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de DanielW33
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2006
    Messages : 327
    Par défaut [MAVEN] Utilisation des archetypes
    J'ai cree un archetype pour un type de projet pour mon client :
    Maintenant, lorsque je lance la commande archetype:create, aucun probleme pour creer mon projet mais je desire egalement remplacer des variables ( autres que groupId, artifactId ou version ) par des valeurs en dur ( ex nom de module et sous-module , non de certains repertoires ou fichier, certaines variables dans le fichier pom.xml ).
    Ma question est : comment faire ?

  2. #2
    Membre expérimenté Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Par défaut
    ben dans ton pom.xml que tu veux valoriser tu positionnes une variable du type

    ${myvar}

    et quand tu lances archetype:create, tu rajoutes -Dmyvar=toto mais c'est à vérifier

    Maintenant si tu en as trop, tu fais comme moi, j'ai crée mon propre plugin d'archetype et je lui passe un fichier de propriétés et ensuite je charge les propriétés que je sette dans la Map des attributs qui sert à la méthode archetype.createArchetype(...)

    je suis pas sûr d'avoir été clair

  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 : 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
    A mon avis - je n'ai pas assez utilisé ce plugin - je doute qu'il soit suffisament paramètrable pour faire ce que tu veux.

    La 1e idée de dvicente72, je doute qu'elle fonctionne, dans la mesure où l'archetype va créer le fichier pom.xml, qui est inexistant avant l'exécution du plugin...

    Je penche donc plutôt pour sa 2e idée...
    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 éclairé Avatar de DanielW33
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2006
    Messages : 327
    Par défaut
    Citation Envoyé par dvicente72
    ben dans ton pom.xml que tu veux valoriser tu positionnes une variable du type
    ${myvar}
    et quand tu lances archetype:create, tu rajoutes -Dmyvar=toto mais c'est à vérifier
    Cette idee ne fonctionne pas : deja tenté

    la deuxieme idee me parait plus interessante mais peux tu etre un peux plus clair ( et meme approfondir ) ???

  5. #5
    Membre expérimenté Avatar de dvicente72
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 213
    Par défaut
    l'archetype n'est pas obligé de "créer" le pom.xml si celui-ci se trouve déjà dans src/main/resources/archetype-resources

    donc tu peux très bien faire un pom.xml qui te sert de template que tu places dans src/main/resources/archetype-resources de ton archetype et celui-ci sera "filtré" à la création.

    Je me doutais bien que la première solution ne fonctionnerait pas, j'ai regardé le code du plugin archetype après avoir posté et effectivement ça ne fonctionne pas.

    DanielW33, plutôt que de poster des explications vaseuses, je te posterai demain matin à la fraîche le code de mon propre plugin archetype

    en gros l'idée est de faire mvn archetype:create -Darchetype.propertiesfile=c:\temp\myFile.properties

    ensuite dans le code du plugin archetype, tu positionnes une variable membre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /**
         * 
         * @parameter expression="${archetype.propertiesfile}"
         * @required
         */
        private File myproperties;
    ensuite tu fais un load via un objet Properties et ensuite tu itéres dessus pour ajouter chaque couple clé/valeur dans la Map d'attributs prévue à cette effet


    voilà en gros l'idée, ça te permet de passer autant de paramétres de substitution que tu veux pour créer ton archetype.


    si tu n'es pas trop pressé, je te poste le code source complet demain matin

  6. #6
    Membre éclairé Avatar de DanielW33
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2006
    Messages : 327
    Par défaut
    Grand merci pour ton aide
    Si tu as un code source pour ca je peux attendre demain sans aucun probleme

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/02/2015, 11h48
  2. Maven : utiliser des tâches Ant ou pas ?
    Par Sandro Munda dans le forum Maven
    Réponses: 1
    Dernier message: 11/05/2010, 11h40
  3. Maven et Eclipse : utilisation des profils maven
    Par crawling5 dans le forum Maven
    Réponses: 5
    Dernier message: 09/01/2009, 14h52
  4. utilisation des profiles maven
    Par aymen83 dans le forum Maven
    Réponses: 1
    Dernier message: 05/01/2009, 23h01
  5. Utiliser des variables maven
    Par Frederik dans le forum Maven
    Réponses: 4
    Dernier message: 13/10/2008, 14h12

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