Elenca tutti i possibili obiettivi in ​​Maven 2?


105

Sono nuovo a Maven, vengo dal mondo Ant.

È possibile elencare tutti i possibili obiettivi (inclusi, ad esempio, tutti i plugin) che puoi eseguire?

Vedo che c'era una -gbandiera in Maven 1, ma non è disponibile nella versione 2.


4
Mi fa impazzire che Maven non possa rispondere a questa domanda senza pagine di xml! Roba buona!
Kieveli

Risposte:


120

L'obiettivo che indichi nella riga di comando è collegato al ciclo di vita di Maven. Ad esempio, il buildciclo di vita (hai anche i cicli di vita cleane siteche sono diversi) è composto dalle seguenti fasi:

  • validate: verificare che il progetto sia corretto e tutte le informazioni necessarie siano disponibili.
  • compile: compila il codice sorgente del progetto.
  • test: testare il codice sorgente compilato utilizzando un framework di unit test appropriato. Questi test non dovrebbero richiedere che il codice venga impacchettato o distribuito.
  • package: prendi il codice compilato e impacchettalo nel suo formato distribuibile, come un JAR.
  • integration-test: elaborare e distribuire il pacchetto, se necessario, in un ambiente in cui è possibile eseguire test di integrazione.
  • verify: eseguire eventuali controlli per verificare che il pacchetto sia valido e soddisfi i criteri di qualità
  • install: installa il pacchetto nel repository locale, da utilizzare come dipendenza in altri progetti in locale.
  • deploy: eseguito in un ambiente di integrazione o rilascio, copia il pacchetto finale nel repository remoto per condividerlo con altri sviluppatori e progetti.

Puoi trovare l'elenco dei plugin "principali" qui , ma ci sono molti altri plugin, come quelli di codehaus, qui .


1
dai un'occhiata al Lifecycle Reference. Tutte le parti del ciclo di vita sono elencate qui.
Salandur

51

È possibile elencare tutti i possibili obiettivi (inclusi, ad esempio, tutti i plugin) che è possibile eseguire?

Maven non ha nulla di integrato per questo, sebbene l'elenco delle fasi sia finito (l'elenco degli obiettivi del plug-in non lo è poiché l'elenco dei plug-in non lo è).

Ma puoi rendere le cose più semplici e sfruttare la potenza del completamento di bash (usando cygwin se sei sotto Windows) come descritto nella Guida al completamento automatico di Maven 2.x usando BASH (ma prima di scegliere lo script da questa guida, leggi oltre ).

Per far funzionare le cose, segui prima questa guida per configurare il completamento della bash sul tuo computer. Quindi, è il momento di ottenere uno script per Maven2 e:

  • Mentre potresti usare quello della mini guida
  • Mentre usi una versione migliorata allegata a MNG-3928
  • Mentre potresti usare script casuali trovati in rete (vedi le risorse se sei curioso)
  • Personalmente uso lo script Bash Completion dal PPA di Ludovic Claude (che è incluso nella versione pacchettizzata di mavenUbuntu) che puoi scaricare da HEAD. È semplicemente il migliore .

Di seguito, ecco cosa ottengo solo per illustrare il risultato:

$ mvn [tab] [tab]
 Visualizzare tutte le 377 possibilità? (y o n)
ant: ant 
ant: pulito 
ant: aiuto 
antrun: aiuto 
antrun: run 
archetipo: crawl 
archetipo: creare 
archetipo: creare-da-progetto 
archetipo: generare 
archetipo: aiuto 
assemblaggio: assemblaggio 
montaggio: elenco 
montaggio: directory-single 
montaggio: aiuto 
montaggio: singola  
... 

Ovviamente non sfoglio mai le 377 possibilità, utilizzo il completamento. Ma questo ti dà un'idea delle dimensioni di un elenco "a" :)

risorse


2
Non l'ho ancora esaminato, ma il nuovo Maven Shellstrumento fornisce un completamento automatico, che potrebbe essere utile qui?
Romain Linsolas

2
@romain No, mvnshnon fornisce il completamento (almeno non nella versione che ho sulla mia macchina). Ho controllato prima di rispondere :)
Pascal Thivent

7

Se usi IntelliJ IDEA puoi sfogliare tutti gli obiettivi / attività di Maven (inclusi i plugin) nella Maven Projectsscheda:

Progetti Maven


2
Vorrei farlo tramite un comando. Come funziona IntelliJ IDEA?
nacho4d

0

Rendiamolo molto semplice:

Cicli di vita di Maven: 1. Pulisci 2. Predefinito (build) 3. Sito

Fasi di Maven del ciclo di vita predefinito: 1. Convalida 2. Compila 3. Prova 4. Pacchetto 5. Verifica 6. Installa 7. Distribuisci

Nota: non confondere o confondere con obiettivi maven con ciclo di vita maven.

Vedere Maven Build Lifecycle Basics 1


0

Un ciclo di vita di build è composto da fasi

Ciascuno di questi cicli di vita di compilazione è definito da un elenco diverso di fasi di compilazione, in cui una fase di compilazione rappresenta una fase del ciclo di vita.

Ad esempio, il ciclo di vita predefinito comprende le seguenti fasi (per un elenco completo delle fasi del ciclo di vita, fare riferimento al Lifecycle Reference):

  • validate - validate il progetto è corretto e tutte le informazioni necessarie sono disponibili
  • compile - compila il codice sorgente del progetto
  • test: verifica il codice sorgente compilato utilizzando un framework di unit test appropriato. Questi test non dovrebbero richiedere che il codice venga impacchettato o distribuito
  • pacchetto: prendi il codice compilato e crea un pacchetto nel suo formato distribuibile, come un JAR. verifica: esegue qualsiasi controllo sui risultati dei test di integrazione per garantire il rispetto dei criteri di qualità
  • install: installa il pacchetto nel repository locale, da utilizzare come dipendenza in altri progetti in locale
  • deploy: eseguito nell'ambiente di compilazione, copia il pacchetto finale nel repository remoto per condividerlo con altri sviluppatori e progetti.

Queste fasi del ciclo di vita (più le altre fasi del ciclo di vita non mostrate qui) vengono eseguite in sequenza per completare il ciclo di vita predefinito. Date le fasi del ciclo di vita sopra, ciò significa che quando viene utilizzato il ciclo di vita predefinito, Maven prima convaliderà il progetto, quindi proverà a compilare i sorgenti, li eseguirà contro i test, impaccherà i binari (ad esempio jar), eseguirà test di integrazione rispetto a quello pacchetto, verificare i test di integrazione, installare il pacchetto verificato nel repository locale, quindi distribuire il pacchetto installato in un repository remoto.

Fonte: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.