BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Maven 3.7 Devrait Inclure Un Wrapper Par Défaut

Maven 3.7 Devrait Inclure Un Wrapper Par Défaut

Favoris

Maven 3.7.0 devrait inclure un nouveau wrapper conçu pour simplifier les builds portables entre les systèmes. Cela va au-delà de la résolution de dépendance typique de maven pour inclure la résolution de la version correcte de maven lui-même, supprimant la nécessité de préconfigurer la plupart des systèmes. Par conséquent, les développeurs pourront plus facilement compiler des projets logiciels tiers et les organisations pourront mettre à l'échelle des nœuds de construction génériques via une intégration continue.

Une grande partie de l'écosystème Java utilise Maven pour deux parties principales : maven est un système de build pour compiler des logiciels et maven central est un référentiel public de bibliothèques afin que le système de build maven puisse obtenir les fichiers nécessaires. Sans le système de build maven, les développeurs qui souhaitent travailler sur un projet doivent passer du temps à apprendre un système de build ou une configuration unique pour chaque projet, prenant ainsi du temps sur le travail qu'ils ont prévu de faire. Au lieu de cela, maven se propose de partager une structure commune à tous les projets - alors que certains peuvent se plaindre d'un manque de personnalisation dans le fichier pom.xml de maven, les développeurs peuvent apprendre une chose puis appliquer les mêmes plaintes et compétences à d'autres projets sans effort supplémentaire. De nombreux plugins maven sont également disponibles et peuvent personnaliser les activités tout au long des phases de build. L'inspiration pour le wrapper est venue de Gradle, le projet wrapper mettant l'accent sur l'inspiration.

Maven à ce jour a été très stable pour les utilisateurs, est disponible sur la plupart des systèmes ou est facile à se procurer : mais avec de nombreux changements récents dans Maven, il sera plus facile pour les utilisateurs d'avoir une configuration de build entièrement encapsulée fournie par le projet. Avec le Maven Wrapper, c'est très facile à faire et c'est une excellente idée empruntée à Gradle.

-Takari

Tous les projets maven suivent une structure et une disposition de dossiers similaires :

  • pom.xml indique qu'un projet est basé sur maven et contient des instructions sur la façon de le construire, la relation entre les projets et les dépendances.
  • src/main/java est le dossier initial du code personnalisé
  • src/main/resources est l'emplacement des fichiers tels que les documents ou la configuration
  • src/main/java9 et les dossiers numérotés de manière similaire indiquent un fichier multi-release JAR, tel qu'une bibliothèque travaillant sur une compatibilité ascendante. Ces dossiers sont moins courants, utilisés principalement pour les bibliothèques plutôt que pour les applications qui peuvent spécifier leur version JRE.
  • src/test/java est l'emplacement des tests unitaires, code qui validera une grande partie de l'exactitude du projet
  • target est la destination des fichiers de classe compilés et d'autres artefacts

En fin de compte, maven fonctionne en divisant la compilation du logiciel en plusieurs phases nécessaires, avec des éléments clés comme suit :

  1. Quelqu'un configure un système de build pour avoir à la fois un JDK et un Maven.
  2. Le système de build lance un seul job pour compiler le logiciel dans un cycle de vie, dont certains sont : 
    1. Clean : nettoie tous les anciens artefacts, en garantissant qu'aucun effet secondaire des versions précédentes.
    2. Compile : construit le projet logiciel
    3. Package : convertit le projet compilé en un artefact déployable
    4. Une phase de déploiement ou d'exécution personnalisée
  3. Le code ou l'application compilé est ensuite envoyé à l'endroit approprié pour distribution.

Le maven build wrapper apporte une amélioration importante à l'étape 1, supprimant la nécessité d'avoir Maven déjà présent et configuré sur un système. Bien que certains systèmes de développement puissent en bénéficier, le wrapper n'est pas nécessaire pour les principaux environnements de développement intégrés tels que les Apache NetBeans qui sont déjà livrés avec un Maven intégré et support natif complet pour les projets Maven.

 

Evaluer cet article

Pertinence
Style

Contenu Éducatif

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT