2011-11-19 11 views
40

Sono nuovo di Maven e sto usando il maven.apache.orgtutorial here come introduzione.Come creare un progetto usando maven-archetype-plugin? Cos'è artefatto, ecc.?

Nella sezione "? Come faccio a fare il mio primo progetto Maven" del tutorial, ci insegna a generare un progetto archetipo Maven eseguendo il comando seguente:

mvn archetype:generate 

Dopo Maven scaricato molti artefatti, improvvisamente fermato e domanda posta sulla riga di comando:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149: 

il tutorial Apache non descrive questo prompt.

Ho due domande:

1. Qual è la domanda di cui sopra chiedendo? Come si dovrebbe rispondere in modo tale che il processo continui?

2. Convenzionalmente, le persone utilizzano mvn archetype:generate per creare un progetto Maven?

Aggiornamento -------------- ---------------------

Per quanto riguarda il mio Prima domanda, ho premuto "invio" senza immettere alcun valore e ottenuto il seguente risultato:

Choose version: 
1: 1.0-alpha-1 
2: 1.0-alpha-2 
3: 1.0-alpha-3 
4: 1.0-alpha-4 
5: 1.0 
6: 1.1 
Choose a number: 6: 

Che cos'è?

I ingresso "1" nel caso di cui sopra, quindi ho ottenuto le seguenti cose:

Define value for property 'package': : : 
Define value for property 'groupId': : 
Define value for property 'artifactId': : 
... 

Come posso definire?

risposta

4

Chiede all'utente quale archetipo si desidera utilizzare per inizializzare il progetto. Se si preme "Invio" al prompt, verrà visualizzato un elenco di scelte disponibili. È possibile utilizzare maven-archetype-quickstart per creare semplicemente un progetto semplice (potrebbe richiedere di selezionare un repository dopo questo, in tal caso, basta inserire il numero corrispondente al primo repository elencato dopo aver inserito questo).

Per rispondere alla tua altra domanda: sì, l'utilizzo di un archetipo è un modo comune per impostare un nuovo progetto. Principalmente perché ci sono un sacco di archetipi là fuori per tutti i tipi di progetti/moduli. Una volta che conosci l'archetipo che vuoi, usarlo per avviare un progetto è il modo più semplice per iniziare.

+0

@ Chris, si prega di controllare il mio aggiornamento nel mio post, premo invio, ma ha ottenuto un risultato strano. quali sono? – Mellon

+0

quelle sono le versioni dell'archetipo disponibile nel repository. A meno che non si abbia un motivo valido altrimenti, si dovrebbe usare solo l'ultimo (quindi in questo caso, versione 1.1) – Chris

+3

È possibile disattivare tutti i prompt utilizzando l'opzione 'ineractiveMode = false'. Prova 'mvn archetype: generate -DgroupId = com.mycompany -DartifactId = someProject -DinteractiveMode = false'. Spero possa aiutare. –

39

mvn archetype:generate Il comando viene utilizzato per creare un progetto da un modello esistente. Esistono diversi archetipi definiti da molti sviluppatori e gruppi di progetto. Quando esegui il comando, Maven esegue le seguenti operazioni:

  1. Scarica l'ultima versione di maven-archetype-plugin.
  2. Elenca tutti gli archetipi da cui è possibile creare un progetto. Se hai definito un archetipo mentre chiami il comando, maven salta al passaggio 4.
  3. Per impostazione predefinita, Maven sceglie Maven-archetipo-QuickStart archetipo che crea in pratica un Ciao Mondo progetto Maven con le classi di origine e di prova. Se si desidera creare un progetto semplice, è sufficiente premere Invio per continuare. Se si desidera creare un tipo specifico di applicazione, è necessario trovare l'archetipo corrispondente alle proprie esigenze e inserire il numero di tale archetipo, quindi premere Invio. Per esempio. Se vuoi creare un progetto webapp, puoi inserire 153 (questo è il numero corrente per questo archetipo, può cambiare nel tempo.)
  4. Poiché gli archetipi sono modelli e intendono riflettere le migliori pratiche attuali, possono evolversi in tempo, quindi hanno le loro versioni. Maven ti chiederà quale versione dell'archetipo vuoi utilizzare. Per impostazione predefinita, Maven sceglie l'ultima versione per te. quindi se accetti di utilizzare l'ultima versione di un archetipo, premi semplicemente Invio in questo passaggio;
  5. Ogni progetto (e modulo) maven ha il suo groupId, artefatto e versione. Maven te lo chiederà in tre passaggi. groupId: questo è generalmente unico tra un'organizzazione o un progetto. artefatto: l'artefatto è generalmente il nome con cui il progetto è conosciuto. versione: questo è l'ultimo pezzo del puzzle di denominazione. (read more)
  6. Infine, Maven ti chiederà la struttura del pacchetto per il tuo codice. Una buona pratica è creare la struttura della cartella che riflette il groupId, quindi Maven lo imposta come predefinito, ma sei libero di cambiarlo.

Dopo aver inserito queste informazioni, Maven ti mostrerà tutte le informazioni che hai inserito e ti chiederà di verificare la creazione del progetto. Se premi Y e quindi inserisci, voilà il tuo progetto viene creato con l'artefatto e le impostazioni che hai scelto.

È anche possibile leggere il sito di utilizzo di maven-archetype-plugin.

1

Un rapido sguardo al tutorial rivela che hai omesso alcuni parametri dell'archetipo: comando di generazione. Ecco perché non sa quale archetipo scegliere per generare il tuo progetto tutorial e presenta tutti gli archetipi disponibili (149).

Prima domanda: premendo return si accetta il suggerimento del plug-in archetype e si sceglie # 149. Questo archetipo si chiude in diverse versioni e normalmente, come dichiarato da Chris, è giusto scegliere l'ultimo - qui 1.1.

Seconda domanda: Poiché un archetipo è una specie di modello che può far risparmiare un sacco di lavoro: Sì, è comune. Ma non è l'unico modo: puoi sempre iniziare con un progetto vuoto.

0

È possibile utilizzare anche il modulo breve

mvn archetype:generate -Dfilter=org.example.group:example-artifact 

O anche solo di un gruppo:

mvn archetype:generate -Dfilter=org.example.group: 

Si otterrà la seguente artefatto (nel primo caso), se esiste in nessun catalogo configurato :

<groupId>org.example.group</groupId> 
<artifactId>example-artifact</artifactId> 

Oppure otterrete più suggerimenti se ci sono più di un candidato. Quindi dovrai sceglierli inserendo l'indice visualizzato nell'elenco delle scelte.

Consultare Maven website per ulteriori!

Problemi correlati