Je suis nouveau à 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 -g
drapeau dans Maven 1, mais ce n'est pas disponible dans la version 2.
Réponses:
L'objectif que vous indiquez dans la ligne de commande est lié au cycle de vie de Maven. Par exemple, le
build
cycle de vie (vous avez également les cycles de vieclean
etsite
qui sont différents) est composé des phases suivantes:validate
: valider que le projet est correct et que toutes les informations nécessaires sont disponibles.compile
: compilez le code source du projet.test
: testez le code source compilé à l'aide d'un cadre de test unitaire approprié. Ces tests ne devraient pas exiger que le code soit empaqueté ou déployé.package
: prenez le code compilé et conditionnez-le dans son format distribuable, tel qu'un JAR.integration-test
: traitez et déployez le package si nécessaire dans un environnement où des tests d'intégration peuvent être exécutés.verify
: exécutez tous les contrôles pour vérifier que le colis est valide et répond aux critères de qualitéinstall
: installez le package dans le référentiel local, pour une utilisation en tant que dépendance dans d'autres projets localement.deploy
: effectué dans un environnement d'intégration ou de version, 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 y en a beaucoup d'autres, comme ceux de codehaus, ici .
la source
Maven n'a rien de intégré pour cela, bien que la liste des phases soit finie (la liste des objectifs du plugin ne l'est pas puisque la liste des plugins ne l'est pas).
Mais vous pouvez faciliter les choses et tirer parti de la puissance de la complétion bash (en utilisant cygwin si vous êtes sous Windows) comme décrit dans le Guide de la complétion automatique Maven 2.x à l'aide de BASH (mais avant de choisir le script de ce guide, lisez plus loin ).
Pour que les choses fonctionnent, suivez d'abord ce guide pour configurer l'achèvement de bash sur votre ordinateur. Ensuite, il est temps d'obtenir un script pour Maven2 et:
maven
Ubuntu) que vous pouvez télécharger à partir de HEAD. C'est tout simplement le meilleur .Ci-dessous, voici ce que j'obtiens juste pour illustrer le résultat:
Bien sûr, je ne parcours jamais les 377 possibilités, j'utilise la complétion. Mais cela vous donne une idée de la taille d'une liste "a" :)
Ressources
la source
Maven Shell
outil fournit-il une complétion automatique, qui pourrait être utile ici?mvnsh
ne fournit pas la complétion (du moins pas dans la version que j'ai sur ma machine). J'ai vérifié avant de répondre :)Si vous utilisez IntelliJ IDEA, vous pouvez parcourir tous les objectifs / tâches maven (y compris les plugins) dans l'
Maven Projects
onglet:la source
Rendons les choses très simples:
Cycles de vie Maven: 1. Nettoyer 2. Par défaut (build) 3. Site
Phases Maven du cycle de vie par défaut: 1. Valider 2. Compiler 3. Test 4. Package 5. Vérifier 6. Installer 7. Déployer
Remarque: ne pas mélanger ou confondre les objectifs maven avec le cycle de vie maven.
Voir les principes de base du cycle de vie de Maven Build 1
la source
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 au Lifecycle Reference):
Ces phases du cycle de vie (ainsi que les autres phases du cycle de vie non illustrées ici) sont exécutées séquentiellement pour terminer le cycle de vie par défaut. Compte tenu des phases du cycle de vie ci-dessus, cela signifie que lorsque le cycle de vie par défaut est utilisé, Maven va d'abord valider le projet, puis essaiera de compiler les sources, exécutera celles-ci contre les tests, empaquetera les binaires (par exemple jar), exécutera des tests d'intégration par rapport à cela 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
la source