Maven - Utilizzo di Maven per la prima volta

Sommario
Nel tutorial precedente abbiamo visto come installare Maven sul tuo computer, abbiamo creato il nostro primo progetto (anche se essenzialmente consisteva nel premere Invio tipo 10 volte) e ti ho lasciato a rivedere quel primo progetto che Maven ha creato automaticamente, in particolare il "pom. xml" che è praticamente il cuore del tuo progetto in Maven.
In questo tutorial vedremo cosa fa Maven, cosa sono tutti quei tag contenuti nel file POM, cosa significano e come iniziare a sfruttare questo strumento.
Esamineremo i passaggi per creare il nostro primo progetto in modo più dettagliato, per questo devi aver già installato Java e Maven, che puoi rivedere nel mio tutorial precedente.
Per prima cosa apriamo la nostra riga di comando ed eseguiamo il comando "mvn -version" (mvn -v) per verificare che Maven sia installato. Una volta verificato, andiamo nella cartella dove vogliamo creare il nostro progetto con il comando cd (nel mio caso "cd mavenArchetypes") e scriviamo il comando "mvn archetype: generate" per presentarci l'elenco degli archetipi trovati nel Repository Maven (sono un numero enorme di archetipi).

Comandi iniziali

INGRANDIRE

Prime 2 pagine dell'elenco degli archetipi esistenti al 07/08/2014

Alla fine dell'elenco degli archetipi Maven ti chiede di scegliere un numero che corrisponda a una delle opzioni dell'elenco (cosa che sarebbe impossibile senza conoscere i numeri a memoria) e ti dà un numero predefinito (nel mio caso 438) che corrisponde all'archetipo "maven-archetype-quickstart" oppure si applica un filtro che si traduce nel posizionare una parola che consente di filtrare quell'elenco gigante per uno più gestibile correlato a ciò che si sta cercando. Supponendo che tu metta la parola "primavera" ti presenterà l'elenco di tutti gli archetipi basati sul framework Spring.
Rimarremo con l'archetipo predefinito, quindi premi semplicemente Invio, dopodiché ti presenterà un elenco di versioni dell'archetipo selezionato in cui scegliamo l'ultima versione premendo nuovamente Invio.
Infine, ti chiederà i dati che identificheranno il tuo progetto, che sono:
IDgruppoRappresenta il tuo "repository del tuo progetto", tutti i progetti che generi con lo stesso groupId verranno tenuti insieme, in questo particolare esempio la mia raccomandazione è di inserire il nome del pacchetto base del tuo progetto, nel mio è "org. manuel.maven ”.
ID artefattoÈ l'identificatore del tuo progetto, poiché questo è un progetto di test l'ho chiamato "MavenTestApp".
versioneAutoesplicativo, il numero di versione del progetto, per impostazione predefinita Maven suggerisce "1.0-SNAPSHOT" che rappresenta la prima versione di sviluppo di un progetto.
pacchettoÈ il pacchetto principale del tuo progetto, per impostazione predefinita Maven gli dà il nome del "GroupId" che in questo caso è "org.manuel.maven".
Alla fine ti mostrerà un riepilogo e richiederà la tua conferma (basta premere ancora una volta Invio o digitare “N” per richiedere nuovamente i dati) e il gioco è fatto! Hai già il tuo primo progetto Maven.
Ora abbiamo una cartella chiamata MavenTestApp dove c'è una cartella src in cui c'è un file "pom.xml", una cartella "main" e una cartella "test". Nella cartella "main" troveremo tutti i file sorgente della nostra applicazione, nella cartella "test" verranno inseriti i file di test corrispondenti (questi test vengono eseguiti con una libreria chiamata JUnit che vedremo in un altro tutorial più avanti) e il file POM contiene gli attributi chiave del nostro progetto e, quando lo si apre con un editor di testo (uso Notepad ++), dovrebbe assomigliare a questo:

INGRANDIRE

Vediamo il documento in parti:
  • Le prime 2 righe dichiarano lo spazio dei nomi XML e lo schema che si riferiscono a XML.
  • Il tag "modelVersion" indica a quale versione del descrittore di progetto appartiene questo POM.
  • "GroupId", "artifactId" e "version" corrispondono al particolare progetto e li ho già spiegati sopra.
  • Il tag "packaging" dice a Maven come impacchettare il nostro progetto una volta che è stato creato. In questo caso è un .jar, se fosse un'applicazione aziendale potrebbe essere un .ear, se fosse un'applicazione web sarebbe un .war.
  • Infine l'etichetta "dipendenze" indica l'inizio dell'elenco delle dipendenze del progetto, all'interno di questa etichetta ogni dipendenza è posta tra le etichette "dipendenza" e in esse si indicano il groupId, l'artifactId e la versione della dipendenza che si desidera aggiungere alla bozza. In questo caso, di default è incluso con le dipendenze della libreria JUnit, che è quella incaricata di testare il nostro codice.
All'interno della dipendenza c'è anche un'etichetta chiamata "scope" che indica quale processo deve essere in esecuzione per applicare la dipendenza corrispondente. Questo file POM è il cuore del nostro progetto e possiamo aggiungere dipendenze man mano che il nostro progetto cresce.
Maven è gestito utilizzando un "repository" di informazioni a cui accede automaticamente quando è in esecuzione e da cui ottiene essenzialmente 2 cose:
Informazioni sugli archetipiMaven contiene un repository in cui mantiene più modelli, chiamati "archetipi" applicativi che sono scheletri composti dalla struttura di base di un particolare tipo di applicazione, nel caso dell'archetipo di avvio rapido di Maven la struttura corrispondente è quella che abbiamo al momento
Informazioni sulle dipendenzeQuesto è l'altro pezzo chiave di Maven, che è la relazione di dipendenza che esiste tra una libreria e l'altra. Ad esempio, il framework "Spring" dipende dalla libreria Apache Commons Logging. Queste informazioni sono memorizzate nel repository Maven in modo tale che quando vuoi usare Spring devi solo dichiarare la dipendenza Spring nel tuo file POM e Maven si occupa AUTOMATICAMENTE di scaricare e utilizzare correttamente la libreria Apache che richiede.
Per questi semplici motivi, è necessario disporre di una connessione Internet quando si utilizza Maven poiché è necessario essere in grado di accedere al repository esterno per trovare le dipendenze di cui si ha bisogno.
Non è fantastico!? Personalmente, più di una volta ho scaricato una libreria per rendermi conto che avevo bisogno di un'altra libreria aggiuntiva in modo che la prima non fallisse. Con Maven devo solo puntare alla libreria che voglio usare nel file POM e FATTO! Maven si occupa di scaricare tutto ciò di cui ho bisogno.
Se non ti ho ancora convinto a smettere di creare codice come fai attualmente e iniziare a utilizzare Maven, attendi di poterlo utilizzare in Eclipse, creare applicazioni Web con pochi clic e mescolare Spring e Hibernate nella stessa applicazione, spero continua a leggermi nel prossimo tutorial e non dimenticare di lasciare i tuoi commenti, alla prossima volta!
Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave