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: dependence d'un package pour compiler


Sujet :

Maven Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut Maven: dependence d'un package pour compiler
    Bonjour ,
    je veux créer un jar a partir d'un fichier source src_ref qu'a une dependence avec a un autre fichier source src ( src et src-ref se trouvent dans le même projet ) .
    comment je peux décrire cette dependence dans le fichier Pom pour pouvoir compilé le fichier source src-ref et générer un jar de ce src-ref?
    j'ai oublier de vous dire que chaque fichier source dans mon projet contient un fichier Pom ( Module ) pour en servir dans le fichier Pom de tout le projet


    Merci d'avance .

  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 804
    Points
    48 804
    Par défaut
    Si t'as plusieurs répertoire de sources, tu peux soit

    - créer un pom par répertoire de sources. A ce moment là, tu fait un multiproject avec un pom à la racine et des submodules. Pour les dépendances, tu met simplement le nom du sous module, son groupid et la version ad-hoc, maven va mettre la compilation dans l'ordre

    - soit créer un seul pom global qui te génèrera un .jar global, dans ce cas il suffit d'ajouter les différents folders de source additionel dans le pom via le plugin "build-helper":
    Code : 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
    <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <executions>
                      <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                          <goal>add-source</goal>
                        </goals>
                        <configuration>
                          <sources>
                              <source>${basedir}/modules/unModule/src/java</source>
                          </sources>
                       </configuration>
     ......

  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,

    Je ne suis pas sur de bien comprendre ton contexte.
    A priori tu as un projet avec deux modules (un module src et un module src-ref) et le module src-ref dépend du module src.

    Si c'est bien cela il suffit de rajoute une dépendance du module src dans le pom de ton module src-ref. N'oublie pas d'installer ton module src dans ton repository local (mvn install) avant de package ton module src-ref (si tu lances l'exécution de maven au niveau du module src-ref).

    Rémy

    N.B. : Si tu as bien nommé tes modules src et src-ref, il vaut mieux changer de noms car ils ne sont pas assez explicites. De plus src est le répertoire contenant l'ensemble des sources dans les conventions maven. Tu risques d'avoir des effets de bords si tu exécutes maven au niveau du pom parent.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    en fait je travaille sur un projet ou on a notre propres architecture c'est pour ca qu'on a pas adopté l'architecture de maven ,on veut maveniser le projet juste pour un processus d intégration continu et l'automatisation des tests
    la structure du projet est semblable a la structure suivante:
    Code : 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
    projet 
           |
           |src
                |package a
                |package b
                |...
                |...
                |Pom.xml
     
          |src-ref
                |package a-ref
                |package b-ref
                |...
                |...
                |Pom.xml
         |.......
         |Pom.xml
    comme vous voyer j'ai un pom pour chaque module et un pom globale qui rasemble tout les modules du projet


    lorsque j execute la commande mvn install il se bloque sur l'etape de la compilation de src-ref parce que src-ref depend de la package a qu est dans le dossier src ,et j'ai pas de jar pour le dossier src
    moi je veux savoir comment faire une dependance vers le dossier de sources
    src dans le module Pom src-ref

  5. #5
    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 804
    Points
    48 804
    Par défaut
    tu dois faire simplement, dans le module "src-ref", un dépendance vers l'artifact généré par le module "src".

    Accessoirement, ta structure est bizzare, d'habitude il y a toujours au moins un répertoire de séparation entre le pom.xml et ses source:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    projet/
     | pom.xml
     | sous-projet1/
       | pom.xml
       | src/
     | sous-projet2/
       | pom.xml
       | src/

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    est vous pouvez bien exprimer plus ,j'ai pas bien saisie votre solution

  7. #7
    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 804
    Points
    48 804
    Par défaut
    ton pom.xml, dans projet/src a un artifactId (X) , un groupId (Y) et une version (Z). C'est exactement çà que tu met comme dépendance dans project/src-ref/pom.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <dependency>
      <groupId>Y</groupId>
      <artifactId>X</artifactId>
      <version>Z</version>
    <dependency>

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/05/2011, 16h40
  2. Maven.dependency pour tâche ANT
    Par Mickael Baron dans le forum Maven
    Réponses: 3
    Dernier message: 22/03/2009, 09h00
  3. [Maven][Tomcat]librairie JSP-API pour la compilation
    Par totoranky dans le forum Maven
    Réponses: 2
    Dernier message: 01/04/2008, 14h27
  4. PB compilation sur Package pour programme dos.
    Par Fbartolo dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/06/2006, 19h29

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