Je suis nouveau sur Maven, venant du monde des fourmis.
Est-il possible de lister tous les objectifs possibles (y compris, par exemple, tous les plugins) que vous pouvez exécuter?
Je peux voir qu’il y avait un drapeau -g
dans Maven 1, mais il n’est pas disponible dans la version 2.
L'objectif que vous indiquez sur la ligne de commande est lié au cycle de vie de Maven. Par exemple, le cycle de vie build
(vous avez également les cycles de vie clean
et site
qui sont différents) est composé des phases suivantes:
validate
: validez le projet et toutes les informations nécessaires sont disponibles.compile
: compilez le code source du projet.test
: testez le code source compilé en utilisant un framework de tests unitaires approprié. Ces tests ne doivent pas obliger le code à être empaqueté ou déployé.package
: prenez le code compilé et empaquetez-le dans son format distribuable, tel qu'un JAR.integration-test
: traiter et déployer le package si nécessaire dans un environnement dans lequel des tests d'intégration peuvent être exécutés.verify
: exécuter toutes les vérifications pour vérifier que le paquet est valide et répond aux critères de qualitéinstall
: installez le paquet dans le référentiel local, pour l'utiliser comme dépendance dans d'autres projets localement.deploy
: effectué dans un environnement d'intégration ou de publication, copie le package final dans le référentiel distant pour le partager avec d'autres développeurs et projets.Vous pouvez trouver la liste des plugins "core" ici , mais il existe de nombreux autres plugins, tels que ceux de codehaus, ici .
Est-il possible de lister tous les objectifs possibles (y compris, par exemple, tous les plugins) qu'il est possible de lancer?
Maven n’a rien d’encastré pour cela, bien que la liste de phases soit finie (la liste des plugins objectifs n’est pas, puisque la liste des plugins ne l’est pas).
Mais vous pouvez simplifier les choses et tirer parti de la puissance de bash complétement (avec cygwin si vous êtes sous Windows), comme décrit dans le guide Guide de l’achèvement automatique de Maven 2.x avec BASH (avant de choisir le script de ce guide, lisez plus loin).
Pour que tout fonctionne correctement, suivez tout d'abord ce guide pour configurer la complétion complète sur votre ordinateur. Ensuite, il est temps d’obtenir un script pour Maven2 et:
maven
dans Ubuntu) que vous pouvez télécharger à partir de HEAD. C'est tout simplement le meilleur.Ci-dessous, voici ce que je reçois juste pour illustrer le résultat:
$ mvn [tab] [tab] Afficher toutes les 377 possibilités? (y ou n) ant: ant ant: clean ant: help antrun: help antrun: run archetype: crawl archetype: create archetype: create-from -projet archetype: générer archetype: aide Assembly: assemblage Assembly: répertoire Assembly: annuaire-single Assembly: aide Assembly: unique . ..
Bien sûr, je n'ai jamais parcouru les 377 possibilités, j'utilise la complétion. Mais cela vous donne une idée de la taille de la liste "a" :)
Rendons cela très simple:
Maven Lif Cycles: 1. Propre 2. Par défaut (build) 3. Site
Maven Phases du cycle de vie par défaut: 1. Valider 2. Compiler 3. Test 4. Paquet 5. Vérifiez 6. Installez 7. Déployer
Remarque: Ne mélangez pas et ne confondez pas les objectifs Maven avec le cycle de vie de Maven.
Voir Notions fondamentales sur le cycle de vie de Maven Build 1
Un cycle de vie de construction est composé de phases
Chacun de ces cycles de vie de construction est défini par une liste différente de phases de construction, une phase de construction représentant une étape du cycle de vie.
Par exemple, le cycle de vie par défaut comprend les phases suivantes (pour une liste complète des phases du cycle de vie, reportez-vous à la référence du cycle de vie):
Ces phases du cycle de vie (ainsi que les autres phases du cycle de vie non présentées ici) sont exécutées de manière séquentielle pour terminer le cycle de vie par défaut. Compte tenu des phases de cycle de vie ci-dessus, cela signifie que, lorsque le cycle de vie par défaut est utilisé, Maven commence par valider le projet, puis essaiera de compiler les sources, de les exécuter sur les tests, de conditionner les fichiers binaires (par exemple, jar), et de lancer package, vérifiez les tests d'intégration, installez le package vérifié dans le référentiel local, puis déployez le package installé dans un référentiel distant.
Source: https://maven.Apache.org/guides/introduction/introduction-to-the-lifecycle.html