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 est-il le meilleur outil pour faire des builds ? [Débat]


Sujet :

Maven Java

  1. #41
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Faut-il commencer à préparer Maven3 ?
    Quoi dire de plus que ce qui a déjà été partagé ?

    Ces retours sont très instructifs. Ils permettent de faire un bilan de cette branche n°2 (Maven2).

    De mon point de vue, la rupture entre Maven1 et Maven2 était vraiment nécessaire. Elle a permis à Maven de prendre son envol, surtout en entreprise.

    L'intérêt des systèmes de build n'est maintenant plus à démontré. D'autant plus dans une ère où qualité, processus itératif et réactivité n'ont jamais été autant aux centres de toutes les préoccupations de tous les DSI.

    Il est maintenant venu le temps de la pérennité.

    De plus en plus de monde remettent en question Maven 2 (http://unmaintainable.wordpress.com/...build-systems/ n'en n'est qu'un exemple parmi de nombreux autres).

    Je pense qu'il est temps d'apporter certaines modifications à Maven pour le rendre plus « standard » :
    1. utiliser et implémenter les normes documentées et reconnues
    2. utiliser les Frameworks populaires et très largement utilisés (au delà du projet Maven ou quelques autres "petits projets")


    Pour moi, Maven (dans le monde de Java) est et sera avant tout un moyen de palier les manques de la plateforme de Sun.

    Celle-ci est en train de rattraper son retard, notamment en ce qui concerne la gestion des dépendances (JAva Module aka JAM – JSR 277) qui, d'après les derniers échanges en cours serait rétro-compatible avec OSGi ???

    Maven a quant à lui son propre système de gestion de dépendance qui lui est antérieur (même si, il me semble, OSGi existait avant)

    C'est à mon avis déjà une très bonne raison pour revoir la gestion des dépendances qui, même si ce n'est pas la seule fonctionnalité de Maven, est une des plus connues.

    Qu'apporterait la prise en charge native de JAM ou OSGi pour la gestion des dépendances ?

    • Documentation beaucoup plus riche
      • -> voir les normes et spécification pour les explications détaillées de la gestion de la transitivité

    • Une courbe d'apprentissage moins grande, et un plus grand nombre de contributeurs potentiels
      • -> en partant du fait qu'OSGi/JAM deviendrons des notions de bases de tous les développeurs Java

    • Une plus grande réutilisation possible d'artefact
      • -> « compatibilité native » des artefacts JAR/JAM avec le système de dépendance

    • Une complexité moins importante du cœur de Maven
      • -> Une grande partie pourra être gérer par d'autres communautés/projet, je pense notamment aux runtimes OSGi déjà existants : Equinox, Felix, et très bientôt la JVM en natif

    • Gestion concurrente de plusieurs versions en même temps

    • Développement des intégrations aux IDE simplifié
      • -> Dépendances transitives déjà gérées en natif (dans le cas d'Eclipse pour OSGi), ou à venir dans Netbeans (dès la sortie de JAM)

    • Simplification des POM
      • -> Dépendances dans le MANIFEST.MF : plus de redondance avec le POM
      • -> à terme, le pom.xml ne contiendrait que ce qui est spécifique à la phase de build et aux rapports (Site, CheckStyle, etc …)

    • Pour ceux qui développent des bundles OSGi, (ou plugin Eclipse / Eclipse RCP) :
      • -> Enfin un VRAI soulagement !!!



    Je serais intéressé pour connaître l'ensemble des sites et sources qui parlent de ces sujets :
    • Grandes évolutions prévues pour les futures versions de Maven (2.1, 2.2 et surtout 3.0)
    • Evolution du cœur de Maven (prise en compte d'OSGi et/ou JAM pour la gestion des dépendances)


    Ressources complémentaires :

  2. #42
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 146
    Points
    146
    Par défaut Avis maven
    Avantages :
    -- Une fois les projet fait avec maven ça roule tout seul

    Points faibles :
    -- Difficulté de prise en main
    -- Inadapté au projet débuté avec un IDE (eclipse)
    -- Inadapté aux projets "merdiques" (pardon pour le terme) avec dépendances cycliques
    -- Adhérence du projet à Maven
    -- On peut faire pareil avec ANT


    Donc pour un projet qui débute ok pourquoi pas. Pour l'existant c'est niet.

  3. #43
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 166
    Points
    4 166
    Par défaut
    @ inconnu652000
    Je ne comprends pas bien tes reproches.
    Une fois ton projet créé sous Maven, tu peux de nouveaux facilement t'en passer.
    Je vois pas en quoi avoir commencé le projet avec un ide rend difficile l'utilisation de Maven.

    On a migré un projet d'une taille raisonnable sous Maven.
    Ok, il y a de boulot, mais rien d'exceptionnel, il faut juste s'y mettre.
    Tout n'est peut-être pas parfait avec Maven, mais je lui trouve pas mal d'avantages, comparé à un script Ant qui devient vite illisible, bien plus qu'un pom.xml, enfin, selon moi.

  4. #44
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 146
    Points
    146
    Par défaut Migrer un projet vers maven
    Citation Envoyé par fr1man Voir le message
    @ inconnu652000
    Je ne comprends pas bien tes reproches.
    Une fois ton projet créé sous Maven, tu peux de nouveaux facilement t'en passer.
    Je vois pas en quoi avoir commencé le projet avec un ide rend difficile l'utilisation de Maven.

    On a migré un projet d'une taille raisonnable sous Maven.
    Ok, il y a de boulot, mais rien d'exceptionnel, il faut juste s'y mettre.
    Tout n'est peut-être pas parfait avec Maven, mais je lui trouve pas mal d'avantages, comparé à un script Ant qui devient vite illisible, bien plus qu'un pom.xml, enfin, selon moi.
    J'ai tenter de migrer un workspace contenant entre 10 et 20 projets (web, ejb, java) avec dépendances cycliques en partant de 0 pour faire de l'intégration continue pas gagner !

  5. #45
    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 : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par inconnu652000 Voir le message
    J'ai tenter de migrer un workspace contenant entre 10 et 20 projets (web, ejb, java) avec dépendances cycliques en partant de 0 pour faire de l'intégration continue pas gagner !
    Certes Maven n'accepte pas d'avoir des dépendances cycliques... Mais c'est peut être qu'il y a des raisons, non ?
    Personnellement, j'estime que s'il existe dans un problème des dépendances cycliques, c'est peut-être qu'il y a du refactoring à faire, non ? (oui, j'ai vu que tu qualifiais ces projets de "merdiques")

    "On peut faire pareil avec Ant"... Maven n'est pas destiné à faire des choses qu'Ant ne puisse pas faire (au contraire, au début, quand les plugins n'étaient pas très nombreux, il arrivait que l'on ait recours à Ant au sein de Maven pour combler les manques). Le fait est qu'un fichier pom.xml est sans doute bien plus simple à maintenir qu'un build.xml (et encore, je trouve qu'il y a des efforts à faire pour simplifier le pom.xml, notament au niveau de la déclaration des dépendances).
    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

  6. #46
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 96
    Points
    96
    Par défaut
    Question volontairement polémique :

    Le fait qu'il y ait plus de discussion sur le forum Maven que sur le forum Ant temoigne t il d'une plus forte utilisation de Maven par rapport à Ant, ou plutôt que Maven pose plus de problème que Ant ?

  7. #47
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Nithril Voir le message
    Le fait qu'il y ait plus de discussion sur le forum Maven que sur le forum Ant temoigne t il d'une plus forte utilisation de Maven par rapport à Ant, ou plutôt que Maven pose plus de problème que Ant ?
    En tout cas, j'imagine que si l'on est confronté à un cas particulier, c'est plus délicat sous Maven que sous Ant. Donc ceci pourrait expliquer cela...

    De plus, Maven n'est pas intégré de base dans pas mal d'EDI, donc ça peut générer pas mal de questions supplémentaires.
    Je ne répondrai à aucune question technique en privé

  8. #48
    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
    Citation Envoyé par Nithril Voir le message
    Question volontairement polémique :

    Le fait qu'il y ait plus de discussion sur le forum Maven que sur le forum Ant temoigne t il d'une plus forte utilisation de Maven par rapport à Ant, ou plutôt que Maven pose plus de problème que Ant ?
    Difficile à dire. Mais le constat qu'on peut faire c'est que de plus en plus de projets passent à maven 2.

    Ensuite maven 2 est mieux adapté pour faire certaine chose que ant (conventions, modélisation du projet, gestion des dépendances, réutilisation via les plugins, site web...) mais l'est moins pour d'autres choses. De plus comme il couvre plus de choses, il est plus complexe à maîtriser et il faut aussi connaître tous les plugins maven utiles pour son projet.

    Rémy

  9. #49
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 146
    Points
    146
    Par défaut Eclipse to maven
    Citation Envoyé par millie Voir le message
    En tout cas, j'imagine que si l'on est confronté à un cas particulier, c'est plus délicat sous Maven que sous Ant. Donc ceci pourrait expliquer cela...

    De plus, Maven n'est pas intégré de base dans pas mal d'EDI, donc ça peut générer pas mal de questions supplémentaires.
    Je suis assez d'accord ! faites moi un convertisseur projet Eclipse --> vers Maven 2 gérant les applis J2EE ... et je le prend de suite

  10. #50
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Citation Envoyé par inconnu652000 Voir le message
    Je suis assez d'accord ! faites moi un convertisseur projet Eclipse --> vers Maven 2 gérant les applis J2EE ... et je le prend de suite
    Il y a quand même une prise en charge via Eclipse qui te permet de t'en sortir.
    Pourrais tu un peu préciser les contraintes que tu considères dans le périmètre "appli J2EE" afin qu'on puisse adresser ce besoin (peut-être que quelqu'un aura même envie d'illustrer via un article ) ?

  11. #51
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par rseM2 Voir le message
    Difficile à dire. Mais le constat qu'on peut faire c'est que de plus en plus de projets passent à maven 2.

    Rémy
    J'ai le sentiment que c'est un effet de mode.

  12. #52
    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 : 45
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par Nithril Voir le message
    J'ai le sentiment que c'est un effet de mode.
    Je ne suis pas vraiment d'accord...
    Je pense que Maven2 apporte vraiment un plus non négligeable par rapport à Ant.
    Le souci principal de Maven2 est qu'il est plus complexe à prendre en main qu'Ant, et moins intégré dans les IDE actuellement...
    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

  13. #53
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Je ne suis pas vraiment d'accord...
    Je pense que Maven2 apporte vraiment un plus non négligeable par rapport à Ant.
    Le souci principal de Maven2 est qu'il est plus complexe à prendre en main qu'Ant, et moins intégré dans les IDE actuellement...
    Le seul plus non negligeable est selon moi le convention over configuration qui permet de définir un cadre de build unique pour tous les projets.

  14. #54
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut
    Maven 2 entre dans des organisations habituées aux procédures lourdes.
    Car il ne faut pas se leurrer: il n'est simple ni à apprendre, ni à utiliser, ni à installer (avec des repository de référence) dans le cadre d'un gros projet.

    Si l'entreprise est d'un CMMI haut (comme on dit pour faire club), c'est à dire qu'elle est très habituées aux procédures très structurées et a une grande expérience des projets informatiques, elle le voudra et y parviendra. Une autre organisation qui comportera plus de débutants ou voudra plus de réactivité, de contrôle, souhaitera sans doute rester sur ANT.

    Car ANT... fonctionne.
    Maven 2, comme je l'ai dit dans un message plus haut, c'est le festival des plugins à deux euros. En version bêta, alpha, on se rend compte que l'on emploie jamais le même que ses voisins pour faire la même chose (XDoclet: trois plugins, avec chacun son bug. Compilation de JSP: autant de candidats, et autant de résultats médiocrement satisfaisants). Et quand il faut analyser les phases Maven pour comprendre pourquoi a échoué ce que ANT n'aurait pas pu rater, on se dit aussi, parfois, qu'on est entrain de perdre du temps dans les grandes largeurs.

    Il y a sans doute un effet de mode, et la mode ne prend pas autant que l'on croit. Il y a deux ans, qui ne jurait pas par Hibernate, on se demandait s'il était bien à la page. Aujourd'hui, le moins que l'on puisse dire, c'est qu'on en revient... S'il est toujours apprécié, il n'est plus idôlatré. Lui aussi a offert son panel d'ennuis.

  15. #55
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 96
    Points
    96
    Par défaut
    Dans des entreprises ayant les moyens de créer ses propres plugins ou de maintenir les existants.

    Le meilleurs des mondes serait un convention over configuration simple avec un lifecycle du build associé a des taches de types Ant + Ivy pour gérer les dépendances.

    J'ai rapidement regardé Buildr, Gradle, mais les deux demandent des connaissances en dev (Ruby et Groovy).

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

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Points : 248
    Points
    248
    Par défaut
    Il n'y a pas de meilleur outils pour faire des builds, car tout dépend du contexte qui est largement lié au projet en question, aux connaissances de l'équipes, à l'organisation de l'entreprise.
    A chacun son rôle. Parfois la souplesse des outils de scripting comme Ant est plus adaptée que la standardisation apportée par maven.
    Maven n'est pas un "effet de mode". Maven répond à un besoin (des entreprises avant tout) qui est l'industrialisation et la standardisation du processus de de développement. Il pose des contraintes à travers les standards qu'il impose. Mais ces contraintes ne sont pas obligatoirement intéressantes pour tous.
    La où le bas blesse, c'est que la qualité de Maven en tant qu'outil n'est pas toujours au RDV. c'est effectivement lié au produit lui-même, au fait qu'il soit développé en opensource avec peu de controle, et qu'il soit extensible. La qualité des plugins est très variable. Tout ceci s'améliore. L'équipe fait d'enormes efforts sur ces sujets mais cela n'est pas simple.
    Enfin le gros problème est effectivment de comparer maven à des outils comme Ant. C'est comme comparer des patates et des choux. La philosophie des outils, leurs objectifs sont complètement différents. Leur seul point commun est de permettre de compiler du java.
    Donc non maven n'est pas l'outil ideal, mas c'est le seul sur ce créneau et il répond à un besoin primordiale dans les entreprises dès que leur taille augmente : homogénéiser, et assurer la qualité des développements.

  17. #57
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 96
    Points
    96
    Par défaut
    Par effet de mode j'entends essentiellement que l'on utilise Maven non pas par besoin mais pour etre dans la vague CoC, dépendance, intégration continue... que symbolise quelque part Maven.

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

    Informations forums :
    Inscription : Février 2008
    Messages : 197
    Points : 248
    Points
    248
    Par défaut
    Ce qui est une mauvaise raison ......

  19. #59
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Hello à tous,

    C'est vrai que cet outil est séduisant sur le papier, mais encore faut-il que le contexte le permette. Dans mon cas, on ne peut accéder à internet qu'avec un script .pac. Et comme ce mode d'accès n'est pas implémenté dans maven, je l'ai dans le c**. Et maven sans internet...
    http://jira.codehaus.org/browse/MNG-202

  20. #60
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    En général, il n'y a un besoin d'internet que pour gérer les plugins et les jar.

    Mais il est possible de spécifier un dépôt de jar local à l'entreprise (il faut le créer la première fois dans l'entreprise évidement)
    Pour les plugins, je n'ai jamais fait, mais j'imagine que c'est possible de faire la même chose.
    Je ne répondrai à aucune question technique en privé

Discussions similaires

  1. Quel est le meilleur controle pour faire des graph
    Par stdebordeau dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/09/2009, 13h17
  2. Quels sont les meilleurs outils pour faire du développement rapide?
    Par kisitomomotene dans le forum Débats sur le développement - Le Best Of
    Réponses: 38
    Dernier message: 14/06/2008, 00h32
  3. Quels sont les meilleurs outils pour créer des Web Services?
    Par Flipmode dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 01/06/2007, 17h18
  4. Meilleure méthode pour faire des coins arrondis
    Par kodokan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/09/2006, 16h08
  5. outil pour faire des sauvegardes regulière (backup)
    Par timsah dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 18/10/2005, 15h48

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