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 :

Projet multi-modules et Eclipse


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
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Par défaut Projet multi-modules et Eclipse
    Bonjour.

    J'ai réalisé un projet multi-modules (completement vide de toute ligne) depuis les commandes maven. Sur le site de maven ils disent d'utiliser la commande

    mvn eclipse:eclipse

    pour pouvoir travailler sont projet dans l'ide.

    Seulement comment le faire avec du multi-modules ?

    1- Faut-il réaliser la commande pour tout les modules puis pour le projet englobant ?
    2- Y'a t'il un ordre d'éxecution précis ?
    3- Pour l'import dans éclipse une fois cette tache réalisée, faut-il importer les modules comme projet puis le projet global ou un simple import du projet général suffit-il pour avoir la même présentation dans le workspace que quand on passe par le plugin M2Eclipse ?

    Le but final est de simplifier la création et la mise en place de projets multi-modules par commandes mvn avec un script ant.

    Merci de vos futures réponses

  2. #2
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Par défaut hello
    Tu peux essayer de lancer la commande sur n'importe quel module (c'est à dire à partir du dossier contenant son pom.xml). Mais maven ne connaitra pas la liaision de chaque module entre eux. Le fichier .classpath qui sera généré (grâce à la commande eclipse:eclipse) sera tout à fait correct mais sans rendre compte du lien entre ces modules.

    Il faut donc seulement lancer la commande depuis le pom parent qui va créer les .classpath des filles.
    Pour l'ordre je ne sais pas... maven gère les dépendances entre modules j'espère que quelqu'un va te répondre. C'est vrai que sur mes projets les modules sont ordonnés. Si A dépend du module B alors je vais déclarer d'abord B puis A comme module.

    Je n'ai jamais essayé d'importer le projet parent... Aucune idée si ça marche.
    Mais importer tous les projets déclarés comme modules est la solution.

    Je n'utilise pas le plugin maven pour eclipse donc je ne peux pas t'aider

  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
    Citation Envoyé par decode Voir le message
    Tu peux essayer de lancer la commande sur n'importe quel module (c'est à dire à partir du dossier contenant son pom.xml). Mais maven ne connaitra pas la liaision de chaque module entre eux. Le fichier .classpath qui sera généré (grâce à la commande eclipse:eclipse) sera tout à fait correct mais sans rendre compte du lien entre ces modules.
    Tout à fait. Si tu lances mvn eclipse:eclipse au sein du projet B, le projet A sera une dépendance tierce qui sera récupérée de ton repository local. Si tu exécutes ce plugin au niveau parent, il saura que A et B sont 2 modules du même projet, et donc gérera les choses plus proprement. Je crois toutefois qu'il faut que les noms des modules (i.e. des sous-répertoires donc) soient les mêmes que les noms des projets fils eux-mêmes. Pas sûr cela dit...

    Citation Envoyé par decode Voir le message
    Il faut donc seulement lancer la commande depuis le pom parent qui va créer les .classpath des filles.
    Pour l'ordre je ne sais pas... maven gère les dépendances entre modules j'espère que quelqu'un va te répondre. C'est vrai que sur mes projets les modules sont ordonnés. Si A dépend du module B alors je vais déclarer d'abord B puis A comme module.
    L'ordre de déclaration n'a aucune importance dès lors que tu as des inter-dépendances. Ainsi, si B nécessite A, écrire :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <modules>
        <module>A</module>
        <module>B</module>
    </modules>

    ou

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <modules>
        <module>B</module>
         <module>A</module>
     </modules>

    c'est la même chose, car le Reactor de Maven va déterminer l'ordre de compilation (ou d'exécution).

    Citation Envoyé par decode Voir le message
    Je n'ai jamais essayé d'importer le projet parent... Aucune idée si ça marche.
    Oui tu peux le faire, mais Eclipse ne va le voir que comme un projet basique. A part éditer le pom.xml parent et éventuellement des ressources non présentes dans un sous-module, peu d'intérêt de l'intégrer dans Eclipse.


    Citation Envoyé par Lagoon94 Voir le message
    1- Faut-il réaliser la commande pour tout les modules puis pour le projet englobant ?
    2- Y'a t'il un ordre d'éxecution précis ?
    3- Pour l'import dans éclipse une fois cette tache réalisée, faut-il importer les modules comme projet puis le projet global ou un simple import du projet général suffit-il pour avoir la même présentation dans le workspace que quand on passe par le plugin M2Eclipse ?
    1. Répondu.
    2. Répondu aussi : non, tant que tu pars du niveau parent.
    3. Si tu te passes du plugin m2eclipse, alors il te faut impérativement importer chaque sous projet séparément. Sinon Eclipse considérera ton projet dans l'ensemble et cela ne fonctionnera pas.

    Citation Envoyé par Lagoon94 Voir le message
    Le but final est de simplifier la création et la mise en place de projets multi-modules par commandes mvn avec un script ant.
    Un script Ant ? Pour quoi faire ?
    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 averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Par défaut
    Tout d'abord merci de vos réponses précises et claires.

    Un script Ant ? Pour quoi faire ?
    Bonne question, j'explique le contexte de mon envie d'automatisation.

    Je travail sur des projets RAD et le but c'est de dépenser x heures pour pouvoir diviser le temps de réalisation de toutes les taches récurentes en les automatisants.

    Donc je vais réaliser un une petite interface graphique qui va proposer plusieurs choses (le nombre de couches si c'est pas un projet simple, leurs noms, et d'éventuels framework comme JSF ou Struts pour la couche web, etc).

    Le but c'est qu'une fois que l'utilisateur clique sur "générer" , l'application va réaliser des appels maven pour construire le projet comme souhaité.

    Ant me parrait une bonne solution pour réaliser ces appels mais avec du recul je crois que le RunTime peut executer des commandes cmd

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 01/04/2008, 14h42
  2. Projet multi-modules, génération de la javadoc
    Par hel22 dans le forum Maven
    Réponses: 2
    Dernier message: 14/11/2007, 11h39
  3. Réponses: 7
    Dernier message: 03/04/2007, 01h10
  4. [Continuum] projet multi-modules +authentification serveur
    Par rseM2 dans le forum Intégration Continue
    Réponses: 13
    Dernier message: 15/02/2007, 17h28
  5. BUILD ERROR sur création d'un projet multi-modules
    Par elitost dans le forum Maven
    Réponses: 1
    Dernier message: 28/08/2006, 15h23

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