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] Projet et sous-projet


Sujet :

Maven Java

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2002
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 152
    Points : 94
    Points
    94
    Par défaut [Maven] Projet et sous-projet
    Je débute dans l'utilisation de Maven.

    Je développe actuellement une application (projet) Java dans éclipse. Appelons cette application "Parent".

    Cette application se sert d'un sous-projet (également dans éclipse). Appelons ce sous-projet "Child".

    Je cherche à compiler le tout à l'aide de Maven.

    Dans le fichier pom.xml de l'application parente, j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <dependencies>
            <dependency>
                <groupId>com.mygroupid</groupId>
                <artifactId>Child</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
    </dependencies>
    Mais lors de la compilation, je reçois une erreur car Maven cherche à télécharger la dépendance dans le repository en ligne de Maven, or le sous-projet n'existe qu'en local et je ne souhaite pas qu'il soit disponible en ligne.

    J'ai donc pensé mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <modules>
      <module>Child</module>
    </modules>
    Le problème est que je suis censé mettre dans le pom.xml du sous-projet le nom de l'application principale parente, tel que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <parent>
        <artifactId>Parent</artifactId>
        <groupId>com.mygroupid</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    Mais ce sous-projet est censé être une librairie réutilisable par plusieurs applications "parentes" (principales). Je ne suis donc pas sûr d'utiliser la bonne méthode car il me semble étrange de devoir déclarer toutes les applications parentes dans le fichier pom.xml de mon sous-projet.

    Pouvez-vous m'éclairer sur la meilleure façon de faire pour atteindre mon objectif ?

    Merci d'avance à tous !

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java / JEE
    Inscrit en
    Février 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java / JEE

    Informations forums :
    Inscription : Février 2008
    Messages : 185
    Points : 293
    Points
    293
    Par défaut
    Bonsoir,

    En admettant qu'en fait tu as 3 projets A, B et C, il te faut :

    1/ Une arborescence du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    projetA
       pom.xml
    projetB
       pom.xml
    projetC
       pom.xml
    pom.xml
    2/ Le pom.xml parent de tous contiendra :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <groupId>fr.tongroup</groupId>
    <artifactId>monprojet</artifactId>
    <packaging>pom</packaging>
    <version>0.1</version>
    ...
    <modules>
      <module>projetA</module>
      <module>projetB</module>
      <module>projetC</module>
    </modules>
    A noter que "module" prend le nom du répertoire et non celui de l'artefactId.

    3/ Chaque pom.xml fils défini qu'un seul parent : monprojet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <parent>
    	<groupId>fr.tongroup</groupId>
    	<artifactId>monprojet</artifactId>
    	<version>0.1</version>
    </parent>
    4/ Si projetA et projetB dépendent de C il suffit de rajouter une dépendance vers celui-ci dans chacun des poms de ces projets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <dependencies>
    	<dependency>
    		<groupId>fr.tongroup</groupId>
    		<artifactId>projetC</artifactId>
    		<version>0.1</version>
    	</dependency>
    </dependencies>
    En espérant que mes explications sont suffisamment claires

    Mathieu

Discussions similaires

  1. Spring MVC 4 - découpage d'un projet en sous projets
    Par GLSpirit dans le forum Spring
    Réponses: 1
    Dernier message: 15/12/2014, 13h32
  2. Projets et sous-projets dans Eclipse
    Par zarathoustroy dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 09/03/2010, 09h56
  3. Projet et sous projet
    Par dams77 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 22/12/2007, 16h18
  4. Projet et sous-projet, interrogation
    Par KiLVaiDeN dans le forum Spring
    Réponses: 3
    Dernier message: 02/05/2007, 13h59
  5. [eclipse 3.0.1] Création de projet avec sous-projet
    Par whilecoyote dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 11/07/2005, 10h31

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