Archivi tag: maven

MAVEN TUTORIAL – 2 – INFORMAZIONI GENERALI

In questo articolo continuiamo l’analisi del POM file, cuore di Maven. Dopo aver visto la configurazione minima, che localizza in modo univoco il progetto all’interno di un repository maven, analizziamo altri tag presenti all’interno del file. In particolare analizziamo la sezione dedicata alle informazioni generali.

Il tag name individa il nome del progetto e viene usato nella generazione della documentaziotag ne.

Il tag description fornisce una descrizione base del progetto e viene usato nella generazione della documentazione.

Il tag url indica l’indirizzo web del sito del progetto.

Il tag inceptionYear indica l’anno di avvio del progetto.

Il tag licenses contiene i riferimenti alle licenze specifiche del progetto.

Il tag organization presenta le informazioni della organizzazione responsabile del progetto.

Il tag developer presenta le informazioni che identificano il team di sviluppo.

Il tag contributor presenta le informazioni che identificano eventuali contributori.

Ecco un esempio del file xml

MAVEN TUTORIAL – 1 – CONFIGURAZIONE MINIMA

Oggi vediamo più in dettaglio il cuore di Maven, ovvero quel POM file che descrive il progetto nella sua completezza. POM è l’acronimo di “Project Object Model”. Si tratta di una rappresentazione XML di un progetto Maven descritta in un file chiamato pom.xml.

Cominciamo ad analizzare la configurazione minima del pom file.

Come ogni buon file xml che si rispetti è presente uno schema xsd che stabilisce le regole del file. Lo schema è arrivato alla versione 4.0.0.

I campi groupId, artifactId version identificano univocamente il progetto, agendo da sistema di coordinate.

Il campo groupId individua univocamente un’organizzazione o un progetto. Può assumere qualsiasi valore, ma è buona prassi valorizzarla usando la dot-notation. In tal modo rilasciando il gruppo su un repository, i punti vengono sostituiti con i separatori di directory OS specifici. Nell’esempio riportato il gruppo it.finazzo.progetti >è presente nella directory $M2_REPO/it/finazzo/progetti.

Il campo artifactId individua univocamente il progetto all’interno dell’organizzazione. Di norma coincide con il nome del progetto. Nell’esempio riportato il progetto è presente nella directory $M2_REPO/it/finazzo/progetti/singolo

Il campo version individua la versione del progetto. Nell’esempio riportato il progetto$M2_REPO/it/finazzo/progetti/singolo/1.0.

Il campo packaging individua il formato del package prodotto. Se non è definito il sistema assume jar.

MAVEN TUTORIAL – INTRODUZIONE

Maven è uno strumento completo per la gestione di progetti software Java.

Segue tutte le fasi del progetto in termini di compilazione del codice, distribuzione, documentazione e collaborazione del team di sviluppo, applicando pattern ben collaudati.

Definisce un ciclo di vita standard per il building, il test e il deployment di file di distribuzione Java. Inoltre presenta una serie di plugin per gli aspetti legati alla documentazione e alla reportistica.

Maven descrive il singolo progetto attraverso un file POM (Project Object Model). Il file POM è un file xml che definisce in modo chiaro l’identità e la struttura di un progetto.  E’ diviso in cinque parti:

  1. Relazioni tra POM. In questa sezione è possibile organizzare i progetti attraverso una serie di file POM opportunamente relazionati.
  2. Build settings. In questa sezione sono definite le varie informazioni richieste dal processo di build.
  3. Project information. In questa sezione sono definite le ingformazioni generali del progetto.
  4. Build environment. Questa sezione contiene le varie informazioni relative all’ambiente di build.
  5. Maven environment. Questa sezione contiene i dati per la configurazione dell’ambiente Maven, ad esempio i vari repository cui si appoggi Maven.

Nel momento in cui scrivo Maven ha raggiunto la versione 2.2.1. E’ presente anche una versione 2.0.11, versione stabile che supporta la JDK 1.4.

Aggiornamento al 17/06. Maven ha raggiunto la versione 3.2.1