Ce qu'il fait
Maven est un "outil de gestion de build", il sert à définir comment vos .java
fichiers sont compilés .class
, empaquetés dans .jar
(ou .war
ou .ear
) des fichiers, (pré / post) traités avec des outils, gérant vos CLASSPATH
tâches et toutes les autres tâches requises pour construisez votre projet. Il est similaire à Apache Ant ou Gradle ou Makefiles en C / C ++, mais il tente d'être complètement autonome et vous ne devriez pas avoir besoin d'outils ou de scripts supplémentaires en incorporant d'autres tâches courantes telles que le téléchargement et l'installation des bibliothèques nécessaires, etc.
Il est également conçu autour du thème "portabilité de build", de sorte que vous n'ayez pas de problèmes comme avoir le même code avec le même buildscript fonctionnant sur un ordinateur mais pas sur un autre (c'est un problème connu, nous avons des VM de Windows 98 machines puisque nous n'avons pas pu compiler certaines de nos applications Delphi ailleurs). Pour cette raison, c'est également le meilleur moyen de travailler sur un projet entre des personnes qui utilisent différents IDE, car les scripts Ant générés par l'IDE sont difficiles à importer dans d'autres IDE, mais tous les IDE comprennent et supportent de nos jours Maven ( IntelliJ , Eclipse et NetBeans ). Même si vous n'aimez pas Maven, cela finit par être le point de référence pour tous les autres outils de builds modernes.
Pourquoi devriez-vous l'utiliser
Il y a trois choses à propos de Maven qui sont très agréables.
Maven (après avoir déclaré celles que vous utilisez) téléchargera automatiquement toutes les bibliothèques que vous utilisez et les bibliothèques qu'elles utilisent pour vous. C'est très agréable et rend le traitement de nombreuses bibliothèques ridiculement facile. Cela vous permet d'éviter "l'enfer des dépendances" . Il est similaire à Apache Ant's Ivy .
Il utilise la " Convention sur la configuration " afin que, par défaut, vous n'ayez pas besoin de définir les tâches que vous souhaitez effectuer. Vous n'avez pas besoin d'écrire une étape "compiler", "tester", "package" ou "nettoyer" comme vous le feriez dans Ant ou un Makefile. Placez simplement les fichiers dans les endroits où Maven les attend et cela devrait fonctionner immédiatement.
Maven propose également de nombreux plug-ins intéressants que vous pouvez installer pour gérer de nombreuses tâches de routine, de la génération de classes Java à partir d'un schéma XSD à l'aide de JAXB à la mesure de la couverture de test avec Cobertura . Ajoutez-les simplement à votre pom.xml
et ils s'intégreront à tout ce que vous voulez faire.
La courbe d'apprentissage initiale est raide, mais (presque) tous les développeurs Java professionnels utilisent Maven ou souhaitent qu'ils le fassent. Vous devriez utiliser Maven sur chaque projet, mais ne soyez pas surpris si cela vous prend du temps pour vous y habituer et que parfois vous souhaiteriez pouvoir faire les choses manuellement, car apprendre quelque chose de nouveau fait parfois mal. Cependant, une fois que vous vous serez vraiment habitué à Maven, vous constaterez que la gestion des builds ne prend presque pas de temps.
Comment commencer
Le meilleur endroit pour commencer est " Maven en 5 minutes ". Cela vous permettra de démarrer avec un projet prêt à coder avec tous les fichiers et dossiers nécessaires à la configuration (oui, je recommande d'utiliser l'archétype de démarrage rapide, du moins au début).
Une fois que vous avez commencé, vous voudrez mieux comprendre comment l'outil est censé être utilisé. Pour cela, " Better Builds with Maven " est l'endroit le plus complet pour comprendre les tripes de son fonctionnement, cependant, " Maven: The Complete Reference " est plus à jour. Lisez le premier pour comprendre, puis utilisez le second comme référence.