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.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>it.finazzo.progetti</groupId>
<artifactId>singolo</artifactId>
<version>1.0</version>
<packaging>war</packaging>
</project>
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 e 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.