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 :

Decrire plusieurs etapes en Maven?


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Par défaut Decrire plusieurs etapes en Maven?
    Bonjour,

    J'ai un problème que je ne sais pas exactement comment résoudre.
    Mon projet global se décompose en plusieurs "projet-modules".
    Chaque projet-modules me sort un .jar et après je crée dans mon projet-web le .war à partir de ces .jar (donc ce sont les dépendances que j'ai besoin).
    Alors jusque la tout va bien, si je fais un mvn install de chaque projet, le probleme c'est que j'aimerai bien dans mon eclipse en cliquant sur un bouton qu'il m'install les .jar puis m'install le .war et enfin me le déploie sur le serveur.
    J'arrive effectivement à faire en 2 étapes distinctes la création des jar puis la création du war et son deploiement mais pas en 1 seule.

    Il me semble qu'il existe dans la description du POM un moyen de le faire avec les <goals> et les <build> mais je ne sais pas exactement comment faire, et mon problème majeur et surtout le changement de repertoire pr faire l'install de chaque jar.

    En esperant avoir été clair et merci d'avance

    edit: La solution de mettre un projet parent qui a pr fils tous les autres projets n'est pas possible (contraintes), c'est pr cela que j'aimerai savoir si c'est possible par tâches ant ou autres dans les balises <build> <goals> ou autres!

  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
    Je ne suis pas sûr d'avoir tout saisi...
    Mais le fait d'avoir un projet pom parent, qui aurait toutes les librairies + le web comme modules, ça ne te suffirait pas ?
    Ainsi, en lançant une commande (genre mvn install) sur le projet parent, cette commande sera répercutée sur tous les projets fils...
    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 averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Par défaut
    Tout d'abord merci pr ta réponse!
    En fait en gros j'ai une structure de projet qui me donne différents jar et à la fin j'ai deux webapp différentes c'est en cela que je ne peux pas avoir un projet parent car si je déclare les dépendances vers tous mes projets dans celui-ci, il me compilerai a chaque fois mes 2 webprojets et donc mes 2 war!
    Voila pourquoi l'idée d'un projet parent n'est pas la bonne, de plus je n'ai pas le droit de toucher à la structure du projet car imposer.
    Voici comment elle se compose :

    parent
    |------Persistance (.JAR)
    |------Metier (.JAR)
    |------webapp1 (.WAR)
    |------webapp2 (.WAR)

  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
    Une idée serait d'avoir, au niveau du pom parent, 3 profiles :

    1. Un profil pour compiler le tout (par défaut)
    2. Un profile pour compiler les dépendances + webapp1
    2. Un profile pour compiler les dépendances + webapp2

    Quelque chose comme ça :

    Code xml : 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
    45
    46
    47
    48
        <profiles>
            <!-- Profile qui compile tout, par défaut -->
            <profile>
                <id>all</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <modules>
                    <module>persistence</module>
                    <module>metier</module>
                    <module>webapp1</module>
                    <module>webapp2</module>
                </modules>
            </profile>
     
            <!-- Profil pour webapp1 -->
            <profile>
                <id>webapp1</id>
                <activation>
                    <activeByDefault>false</activeByDefault>
                    <property>
                        <name>webapp</name>
                        <value>web1</value>
                    </property>
                </activation>
                <modules>
                    <module>persistence</module>
                    <module>metier</module>
                    <module>webapp1</module>
                </modules>
            </profile>
     
            <!-- Profil pour webapp2 -->
            <profile>
                <id>web2</id>
                <activation>
                    <activeByDefault>false</activeByDefault>
                    <property>
                        <name>web</name>
                        <value>web2</value>
                    </property>
                </activation>
                <modules>
                    <module>persistence</module>
                    <module>metier</module>
                    <module>webapp2</module>
                </modules>
            </profile>
    Ainsi, si tu veux tout compiler:
    mvn clean install

    Si tu veux compiler persistence + métier + webapp1 :
    mvn clean install -Dweb=web1

    Si tu veux compiler persistence + métier + webapp2 :
    mvn clean install -Dweb=web2
    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 averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Par défaut
    Merci je vais essayé ca, et je te tiens au courant

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Par défaut
    Alors j'ai essayé, evidemment si je ne fais que du clean package install, ca marche! par contre étant donné que j'utilise le plugin weblogic-maven-plugin pour déployer mon war directement sur mon serveur, il apprécie pas étant donné que je suis dans le repertoire du parent et non celui du webapp!

    Existe t-il un moyen de dire a maven de changer ce repertoire en cours de 'goals' (jpense pas que ce soit faisable)?

    Sinon s'il n'y a pas de solution, en dernier recours, j'ai ptet pensé a faire un genre de batch ou jlance d'abord la compilation maven des JAR puis je change de repertoire et je fais mon war puis son deploy

Discussions similaires

  1. Gérer plusieurs projets avec Maven 2
    Par thewarlock dans le forum Maven
    Réponses: 9
    Dernier message: 22/04/2010, 10h30
  2. [ActionForm] Faire un formulaire en plusieurs etapes
    Par Spiff__ dans le forum Struts 1
    Réponses: 4
    Dernier message: 29/07/2008, 17h16
  3. Saisie d'informations en plusieures étapes.
    Par azpublic dans le forum Struts 1
    Réponses: 1
    Dernier message: 19/07/2006, 09h23
  4. formulaire avec plusieurs etapes
    Par dolf13 dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2006, 09h54
  5. Formulaire en plusieurs etapes
    Par maimba dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/10/2004, 14h48

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