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 :

Structure de projets avec Maven 2


Sujet :

Maven Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 72
    Points : 47
    Points
    47
    Par défaut Structure de projets avec Maven 2
    Bonjour,

    J'utilise avec Maven 2 la possiblité de créer des projets avec modules. Néanmoins je me demande quelles sont les différences entre plusieurs projets et un ou des projets avec des modules ?

    Lorsqu'on dit qu'un projet est fils d'un autre, s'agit-il de module ? Ou juste de dépendances ?

    En effet, j'aimerais résoudre un problème de structure de mes projets et choisir pour cela la meilleure solution.

    Les projets fils peuvent ils avoir accès aux classes de leurs parents ? Maven supporte t il la double dépendance entre projets ?

    Merci à vous

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Le rapport pere fils avec les modules en maven sert à plusieurs objectifs

    1) permettre à tous tes projet de partager une certaines structure (dépendances, nom de l'organisation, site web, etc). Il n'est pas nécessaire d'utiliser des modules pour autant, ce mécanisme fait partie de la relation <parent>

    2) dans le sens inverse, permettre à partir du parent de faciliter toute une série d'opération: compilation, packaging, release et installation de tout l'arbre de projet depuis le parent. Note que les fils n'héritent pas des "classe" puisque le parent n'a pas de code (il est de type pom et non de type jar). Par contre, ca aide à gérer les relation intermodules. Exemple
    modules A,B,C,D. A utilise D, B utilise A, C utilise A. Lors de la compilation, B et C trouverons les classes de A, même si tu ne les a jamais installées dans ton repository, pour autant que tu aie bien mis les dépendance dans le pom. Ca évide donc, lorsque tu modifie A puis B de devoir aller dans A, fait un "mvn package install" puis aller dans B et faire un "mvn compile" pour que B utiliser les classes modifiée dans A. Tu va juste à la racine, tu tappe mvn compile, et tous les projets se verront comme si il étaient déjà installés.

  3. #3
    Membre confirmé

    Inscrit en
    Septembre 2006
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 466
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    Citation Envoyé par egrazian Voir le message
    Bonjour,
    J'utilise avec Maven 2 la possiblité de créer des projets avec modules. Néanmoins je me demande quelles sont les différences entre plusieurs projets et un ou des projets avec des modules ?
    Il faut regarder cela principalement en terme de cycle de vie :
    • si l'ensemble de tes artefacts doivent suivre un même cycle de vie (i.e qu'ils ont toujours la même version ou dit autrement quand tu fais une release, tu le fais toujours sur l'ensemble de tes artefacts) alors tu es en projet multi-modules
    • dans le cas inverse alors il faut utiliser différents projets.


    Citation Envoyé par egrazian Voir le message
    Lorsqu'on dit qu'un projet est fils d'un autre, s'agit-il de module ? Ou juste de dépendances ?
    Ca dépend du contexte. Il faut faire la différence entre deux notions :
    • héritage (comme pour les langages objets) ou un pom récupère la configuration de son père ;
    • agrégation : un pom peut définir un ensemble de modules notamment pour faciliter toute une série d'opération comme l'a expliqué tchize.


    Il vaut mieux utiliser ces termes plutôt que fils qui peut être utilisé dans les deux cas.

    Rémy

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    Je vous remercie pour vos réponses, je découvre l'univers de Maven et mon projet va très certainement devoir être remanié afin que la logique de découpage soit bonne.

    D'une manière plus concrète, j'ai crée pour le moment plusieurs projets qui sont eux mêmes multi modules. Chaque projet est géré indépendamment des autres projets : les modules d'un projet correspondent aux couches : présentation, dao, etc ...

    Chaque projet a ainsi la même "fabrication" mais il est néanmoins nécessaire de relier entre eux mes différentes parties. Le premier souci que je rencontre est la création des menus de navigation : utilisant les wickets pour créer mes vues, je me rends compte que la manière dont s'articule le projet n'est surement pas la meilleure ...

    Merci donc de vos explications sur l'articulation des projets réalisés sous Maven, je ne manquerai pas de retranscrire ici comment je m'en suis sorti.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/05/2011, 13h58
  2. [1.x] Symfony et structure de projet avec sous-domaines
    Par etoileweb dans le forum Symfony
    Réponses: 2
    Dernier message: 11/12/2010, 22h46
  3. Gérer plusieurs projets avec Maven 2
    Par thewarlock dans le forum Maven
    Réponses: 9
    Dernier message: 22/04/2010, 10h30
  4. gestion des projets avec maven 2
    Par nouramin dans le forum Maven
    Réponses: 0
    Dernier message: 12/03/2010, 18h54
  5. Erreur lors de la compilation d'un projet avec maven
    Par cococinelle dans le forum Maven
    Réponses: 2
    Dernier message: 07/04/2008, 09h47

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