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

Affichage des résultats du sondage: J'utilise les outils de build suivants :

Votants
197. Vous ne pouvez pas participer à ce sondage.
  • Ligne de commande, Makefile ou script

    12 6,09%
  • Ant

    77 39,09%
  • Ant + Ivy

    7 3,55%
  • Maven 1

    2 1,02%
  • Maven 2

    88 44,67%
  • Gradle

    3 1,52%
  • Ce qui est intégré à mon IDE

    83 42,13%
  • Un outil maison

    0 0%
  • Je ne sais pas

    4 2,03%
  • Autre chose (merci de préciser)

    3 1,52%
Sondage à choix multiple
Build Java Discussion :

Quel(s) outil(s) de build Java utilisez-vous et pourquoi ?


Sujet :

Build Java

  1. #1
    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 : 46
    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 Quel(s) outil(s) de build Java utilisez-vous et pourquoi ?
    Bonjour,

    Afin de compléter un article en cours d'écriture, j'aurais voulu savoir quels sont les outils de builds que vous utilisez pour construire vos projets Java.

    N'hésitez absolument pas (c'est même recommandé) à lister les avantages et inconvénients de l'outil que vous utilisez...

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Personnellement j'utilise Ant depuis longtemps et depuis peu, je commence à le remplacer par Maven 2 dans mes projets.

    Maven 2 permet de faire plus de chose de base qu'Ant sans avoir besoin de configurer de long script. De plus, les possibilités sont plus nombreuses (couverture de code, release, génération de rapports, site, ...).

  3. #3
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    Pour ma part j'utilise ant

    +lisibilité (étant habitué à manipuler de l'XML)
    + simplicité pour des tâches usuelles comme la compilation, l'exécution du projet ou encore générer la javadoc
    +Eclipse peut le générer (parfois il ne vaut mieux pas! )

    -construction parfois complexe pour des tâches importantes
    -propriétés pas toujours claires

  4. #4
    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 : 46
    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
    De mon côté, j'utilise essentiellement Maven2, mais je commence à jeter un oeil sur Gradle (à mon avis, c'est plus pour le fun que pour vraiment l'utiliser, mais on ne sait jamais).

    Concernant Maven 2 :

    Les bons points :

    • Si on respecte les conventions de Maven 2, l'écriture d'un pom.xml est très simple et peu verbeux.
    • La gestion des dépendances, qui, sans être parfaite, a beaucoup simplifié les choses.
    • L'héritage et les projets multi-modules.
    • Les plugins de rapports.Le développement de nouveaux plugins est relativement simple.
    • Pour des projets simples, avec un pom.xml, on peut faire plein de choses facilement (compilation, tests, création de sites, rapports, etc.).
    • Bien supporté dans la plupart des outils d'Intégration Continue.
    • Le principe de décrire son projet plutôt que de décrire les tâches que l'on souhaite réaliser (mais c'est un aussi un point négatif, dès que l'on veut faire quelque chose qui sorte de l'ordinaire).

    Les mauvais points :

    • Dès que l'on veut sortir un peu du système Maven2, que l'on veut faire des choses un peu en dehors du cadre de l'outil, ça devient vite complexe.
    • Trop verbeux sur les dépendances. Pourquoi n'avoir pas dès le début permis une syntaxe à la Ivy (<dependency groupId="xxx" artifactId="xxx" version="xxx"/>) ?
    • On utilise trop de plugins, parfois pour des tâches simples. Par exemple, si on a 2 répertoires de sources Java, le pom.xml est
    • Documentation mal fichue sur le site (mais on a le droit à des livres gratuits en anglais et en français, ça compense).
    • Les métadonnées XML sont très obscures je trouve (celles qui se trouvent dans le repository).
    • XML parfois redondant, même en utilisant l'héritage.
    • Mauvais support sur les IDE, en particulier sur les projets multi-modules, bien que ça s'améliore...
    • Même si c'est de plus en plus rare avec un nombre croissant de plugins, c'est dommage d'avoir recours à Ant dans Maven2 pour faire certaines tâches qui sortent un peu de l'ordinaire (ou alors il faut développer son propre plugin).
    • Développement et support des plugins "officiels" inégaux.


    Bon, la liste n'est sans doute pas tout à fait complète, mais ça devrait refléter mon avis.

    Pour conclure, je dirais que si je dois aller sur un nouveau projet, je choisirais clairement Maven2, malgré ses défauts.
    Etant donné ma connaissance de l'outil, j'arrive généralement à m'en sortir sans trop de dégâts, dès qu'il y a des choses un peu exotiques à réaliser...

  5. #5
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 738
    Points
    3 738
    Par défaut
    pour ma part c'est ant+ivy, mais suis souvent obligé de subir maven (je pourrais parler des heures de ma haine pour maven )

    j'espere beaucoup de gradle !

  6. #6
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Mauvais support sur les IDE, en particulier sur les projets multi-modules, bien que ça s'améliore...
    Juste pour ce point, je ne suis pas vraiment d'accord. Je ne connais pas le support Maven 2 de tous les IDE, mais pour ce qui est de IntelliJ Idea, il est vraiment excellent et réalise tout ce que ce que je veux, également pour les projets multi-modules.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Je package occasionnellement avec eclipse.

    Pour mes anciens projets, c'était tout en Ant.

    Maitenant, je ne fais que du Maven.

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Ant tout seul.

    Avec un système Write-once, build anywhere on tient tous nos développements en modifiant 2 lignes lors d'un nouveau projet. Aucun souci.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 8
    Points : 12
    Points
    12
    Par défaut
    Pour ma part, j'utilise Maven 2 depuis près de 6 mois, et le temps qu'il m'a fait gagner est considérable.

    Les points faibles que je trouves sont certes anectotiques mais bon ...
    - Customisation brouillon du site web généré
    - Temps de build variant
    - Tout est plugin, mais du coup le nombre de plugin est conséquent sur un projet

  10. #10
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Buildr

    Simple/puissant/pratique/explicite/succinct

    Seul bémol : Ce n'est pas le "standard-d-entreprise-de-facto" (c'est mieu )

    D'expérience, un build (il est vrai pourri) est passé de 20 minutes en maven 1 à 3 minutes en buildr.

  11. #11
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Salut,

    Je suis toujours a Maven 1 (intégré dans eclipse) mais j'espère passer prochainement a la 2 mais cela ne me semble pas si "facile" .

  12. #12
    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 : 46
    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
    Merci sylez pour ce retour.

    Si tu pouvais nous en dire un peu plus sur Buildr, pour une fois qu'on a quelqu'un qui n'utilise ni Ant ni Maven

  13. #13
    Membre habitué
    Profil pro
    Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte logiciel

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 156
    Points
    156
    Par défaut
    Bonjour,

    J'ai découvert Maven avec la version 1. Franchement, je n'ai pas du tout accroché. Je ne voyais pas trop ce que cela apportait et que la mise en place était lourde. De plus, cela remonte à une précédente version d'Eclipse et le plugin n'était pas super super.

    Mais depuis quelques temps, j'ai découvert Maven 2 avec l'intégration dans NetBeans 6.5 (puis 6.7). Et cette seconde expérience fut plus intéressante. L'intégration dans l'IDE est vraiment très bien, le RepoBrowser est utile tout comme l'autocomplétion dans le pom.xml.
    L'utilisation des archetypes dans Maven2 et leur nombre est vraiment intéressant pour commencer un projet sur un standard de développement.

    Par contre, le pom.xml est toujours très verbeux. Et il est quelque fois difficile de sortir des sentiers battus car il faut alors trouver la bonne balise à mettre au bon endroit.

  14. #14
    Membre habitué Avatar de Process Linux
    Inscrit en
    Septembre 2003
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 136
    Points : 149
    Points
    149
    Par défaut
    Dans des projets TELECOM, où il s'agit des développements de grande echelle, on utilise principalement MAVEN 2.
    Pour les raisons suivantes :
    - Il réalise complètement la séparation entre la description du projet, et ce qu'on veut faire avec ( à l'oposé d'ant )
    - Une fois la structure du projet réalisé en format MAVEN, on peut faire beaucoup de choses avec ce projet en utilisant différents plugin (Audit de qualité, test unitaires, alimentation d'un dashboard sonar, .... )
    - On maitrise complètement notre socle de développement grâce à l'utilisation d'un projet DEPENDANCE qui encapsule notre Socle.
    - Facilité de la maintenance du socle et la mise à jour sans perturber les développements.

    Aussi on gagne en automatisation de build sur différent projet non Java en adoptant MAVEN 2 .

  15. #15
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,

    J'ai voté pour Ant, Ivy, Eclipse et autres.
    J'utilise généralement Ant pour coder mes builds. J'essais de me mettre à Ivy aussi (quoi que je suis devenu expert dans la résolution manuelle des dépendances en partantdes exceptions ClassNotFoundException ).

    J'utilise aussi Eclipse pour l'export des bundles OSGi.

    Et enfin, je me suis mis à SBT (Simple Build Tool) pour le développement Scala (couplé à emacs) vu que le plugin Scala d'eclipse est limite inutilisable.

  16. #16
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 738
    Points
    3 738
    Par défaut
    Citation Envoyé par djo.mos Voir le message
    Et enfin, je me suis mis à SBT (Simple Build Tool) pour le développement Scala
    oui, je l'ai vu aussi, vu qu'en ce moment je regarde scala de pres aussi

  17. #17
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Citation Envoyé par lunatix Voir le message
    oui, je l'ai vu aussi, vu qu'en ce moment je regarde scala de pres aussi
    C'est hyper simple d'emploi (pour les besoins basiques). un simple sbt dans un dossier, puis il te demande queques resneignements, et hop, ça te configure un projet directement fonctionnel.

    SBT offre aussi la possilbité de générer un pom.xml à partir de tout ça.

  18. #18
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2007
    Messages : 15
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par rberthou Voir le message
    Je suis toujours a Maven 1 (intégré dans eclipse) mais j'espère passer prochainement a la 2 mais cela ne me semble pas si "facile" .
    Cela fait plus de deux ans que je suis passé de Maven 1 à Maven 2 et je dois avouer qu'à l'époque, je me suis fait un peu peur. La migration des plugins les plus importants de Maven 1 vers Maven 2 ne semblait pas encore complètement terminée. De plus, les différences entre Maven 2 et Maven 1 sont suffisantes pour que l'on subisse une certaine perturbation en passant à Maven 2.

    De nos jours, un passage de Maven 1 à Maven 2 devrait être plus simple. En effet, les plugins Maven 2 essentiels sont devenus beaucoup plus stables et on trouve de plus en plus de plugins Maven 2 dans les différents projets et outils open source Java. Autre point important pour ceux qui développent sous Eclipse : le plugin (au sens d'Eclipse cette fois-ci !) m2eclipse s'est considérablement stabilisé et étoffé ces deux dernières années. Il peut être une aide pour comprendre comment fonctionne Maven 2.

    Il m'a fallu de l'entrainement pour passer de Maven 1 à Maven 2 mais depuis que je l'ai fait, je n'ai plus du tout envie de revenir à Maven 1.

  19. #19
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Pour les projets Java, c'est Maven 2, systématiquement.

    Côté avantages, on peut noter l'existence de très nombreux plugins, dont l'utilisation se fait sans autre effort que de les configurer (cette configuration se limitant assez souvent à déclarer le plugin !) ; par ailleurs, il offre un cadre standardisé sans configuration (même si ce standard peut être critiqué), et permet ainsi de se retrouver très facilement dans les différents projets sans trop d'efforts.
    Côté inconvénients, c'est le manque de souplesse. En effet, le lifecycle d'un projet est bien défini, et on ne peut que le paramétrer, pas le changer. Par ailleurs, pour des projets de petite taille, Maven peut sembler lourd.

    Ensuite, j'utilise ant+ivy de temps à autre, mais sans accrocher : c'est flexible, certes, on fait ce qu'on veut, mais c'est encore plus verbeux qu'un pom bien factorisé. L'intégration avec ivy permet d'avoir une bonne gestion des dépendances, mais la configuration des classpaths est une horreur à mon goût.

Discussions similaires

  1. Quel environnement de développement intégré (EDI) Java utilisez-vous en 2013 ?
    Par Mickael Baron dans le forum EDI et Outils pour Java
    Réponses: 26
    Dernier message: 18/05/2014, 18h19
  2. Réponses: 62
    Dernier message: 03/10/2012, 00h35
  3. Réponses: 0
    Dernier message: 20/05/2012, 22h26
  4. Quels outils de métrique Java utilisez-vous ?
    Par gifffftane dans le forum Qualimétrie
    Réponses: 13
    Dernier message: 11/02/2009, 11h11
  5. Quels outils de métrique Java utilisez-vous ?
    Par gifffftane dans le forum EDI et Outils pour Java
    Réponses: 13
    Dernier message: 11/02/2009, 11h11

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