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] Compilation itérative


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 85
    Par défaut [MAVEN] Compilation itérative
    Bonjour,

    Étant sur un projet oû de nombreux jar doivent être créés en fonction de nombreux clients, je voudrai savoir si il est possible d'effectuer une "compilation itérative".
    Je m'explique : Le projet sur lequel je travail est un projet WebServices et jusqu'à présent j'utilisais un script Ant afin de pouvoir builder chaque fichier EAR préconfiguré (Connexion de base de données, génération d'un fichier .wsdd différent pour chaque, compilation de mes interfaces webservices différentes aussi...)
    Sur Maven à priori on ne peut pas le faire (sauf existance d'un plugin dont je n'ai pas la connaissance ...)

    Quelqu'un aurait-il une idée ?
    Merci d'avance !


    ps : Je pensais pouvoir passer par le antrun mais à priori je ne peux pas utiliser le plugin de compilation à l'interieur de Ant ... Sauf si j'indique explicitement le javac qui va compiler mes classes et cette configuration ne sera pas forcément partagée par tous les membres du projet.
    Donc je perds le bénéfice du contrôle de type de compilation dans Ant ce qui est dommage après avoir mavénisé un projet !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Par défaut
    Je comprends mal ton problème. J'imagine deux choses :
    - ne recompiler que les classes modifiées. C'est géré nativement par le compilateur java et donc maven
    - dans un multiprojet ne recompiler que les modules necessaires à un projet ou les modules impactés par un changement. C'est le plugin reactor qu'il faut regarder : http://maven.apache.org/plugins/maven-reactor-plugin/

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 85
    Par défaut
    Merci pour la réponse !

    J'ai regardé ta seconde solution mais je ne pense pas que ça puisse m'aider.

    Pour être plus explicite j'ai ce type de projet :

    Un projet basique qui me génère tout d'abord un fichier JAR, sur lequel j'attache un fichier server-config.wsdd pour configurer les accès à la classe du service et aux méthodes du service.
    Les interfaces utilisées dans chaque services ne sont pas les mêmes car configurées différemment en fonction du client pour lequel je travaille. Le contexte du service non plus d'ailleurs

    Cependant, vu que je dois déployer une bonne 20ene de services pour chaque client différents (le service ne sera pas configuré de la même façon), dans chaque service, j'inclus une classe spécifique qui va permettre de le configurer de la bonne façon.
    Je dois donc en gros effectuer un build pour chaque client.

    Jusqu'à présent j'utilisais directement Ant qui, pour chaque client me générait un fichier EAR différents. (le fichier Ant faisait tout de même 1000 lignes ...)
    Le problème c'est qu'avec Maven, je suis obligé d'invoquer manuellement un build avec une configuration de build différents pour tous ces clients... Et faire ça 20 fois je trouve ça un peu lourd !

    L'idée qui me plairait serait de :

    --Pouvoir parcourir un fichier .properties déclaré dans le projet (ou directement des properties injectées dans le pom)
    --Pour chaque propriétés déclarées dans ce fichier, effectuer un build en utilisant une classe générique qui sera filtré au moment du build (tous comme mes fichiers de contexte) ce qui me permettra de générer des WebServices différents lorsque je lance le mvn build ...

    Peut être que j'en demande trop à Maven là dessus, je sais pas trop ...

    Une idée ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Par défaut
    Ok je comprend. Tu veux lancer un même build mais plusieurs fois avec des profiles différents.
    Malheureusement Maven ne le gère pas. Le seul moyen est d'utiliser un script (windows, shell, whatever) ou un serveur d'integration continue qui sache gérer les build paramétré (le mécanisme de grilles dans hudson par exemple)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 85
    Par défaut
    Oui c'est exactement cela !
    Par contre jusqu'ici, j'utilise le plugin M2Eclipse pour compiler... Et si je commence à passer par des script pour lancer Maven ça va déstabiliser l'équipe qui possède son environnement Maven préconfiguré dans Eclipse.

    L'autre solution serait que je puisse réutiliser le fichier Ant que j'ai écris à la base, mais je perdrai le bénéfice du contrôle de compilation par maven lui même...

    Pas évident à Mavéniser ce projet !

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Par défaut
    Mais est ce qu'il est nécessaire dans eclipse de générer les 20 versions du même projet ?
    Ne pouvez vous pas séparer les parties spécifiques ? Ne pouvez vous pas créer 20 modules spécifiques et un module générique ?

Discussions similaires

  1. Maven compiler juste une seule classe
    Par synhedionn dans le forum Maven
    Réponses: 0
    Dernier message: 24/04/2010, 12h47
  2. Réponses: 8
    Dernier message: 12/05/2009, 11h31
  3. Réponses: 10
    Dernier message: 16/05/2008, 22h36
  4. [MAVEN]Compilation en JDK 1.5 ?
    Par elitost dans le forum Maven
    Réponses: 12
    Dernier message: 16/04/2007, 11h51
  5. [Maven] Compilation avec des librairies
    Par pamic dans le forum Maven
    Réponses: 3
    Dernier message: 03/07/2006, 11h29

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