Build with Maven

Maven è un progetto Open Source realizzato da Apache.
Esso è uno strumento molto potente in “termini di compilazione del codice e di collaborazione nel team di sviluppo”. Una delle funzionalità più rilevanti di Maven è il download automatico delle librerie di cui necessita un progetto Java, risolvendone le dipendenze. Il cuore di un progetto Maven risiede nel file di configurazione pom.xml.

buil with maven

Maven – Risolutore Di Dipendenze


Se si parla di Maven, il concetto di “dipendenza” assume un significato molto particolare.
Per dipendenza si intende una classe che viene instanziata mediante una new (accoppiamento tra classi). Quindi in Maven per dipendenze s’intendono le librerie (jars) che
sono necessarie al progetto Java per poter richiedere dei servizi.
Un Jar (Java Archive), è un formato di file che indica un’archivio di dati compresso usato per i raccoglitori delle classi.
I jars contengono delle classi logicamente correlate per implementare uno specifico servizio, ad esempio esistono jars per la gestione dei files (commons-io), per la gestione dei framework (Spring, Struts, …), ed un’infinità ancora.
Il POM (Project Object Model) descrive la struttura di un progetto J2EE, esso è collegato a un Repository Remoto dove in fase di start-up del progetto scarica tutte le
dipendenze elencate in questo file. È bene sottolineare che la fase di download non avviene nuovamente a ogni deployment del progetto bensì esclusivamente nel momento in cui Maven rileva l’aggiunta di una nuova dipendenza all’interno del pom.xml.
Tale repository viene creato nel percorso C:\Users\{NomeUtente}\.m2\repository\ in ambiente Windows, pertanto nel momento in cui il pom.xml richiede una nuova dependency essa viene depositata in questa cartella.
Questo path può anche essere configurato e/o condiviso in rete con il proprio team di sviluppo.
Alcuni elementi cardine utilizzabili nella configurazione Maven su di un progetto J2EE sono: i plugins e i goals.
I goals sono delle funzioni eseguibili a livello di progetto che come lascia intendere il termine stesso ne identifica gli obiettivi.
Ad esempio un goal definibili sul pom.xml di un progetto Spring Boot è “spring-run”, ossia l’azionamento di Spring Boot.
I plugins invece definiscono i goals riutilizzabili per un progetto J2EE. Il plugin definibili viene messo tra

    <groupId>(gruppo di progetto del plugin) </groupId>
    <artefactId>(ID del progetto del plugin inserito)</artefactId>

Una delle caratteristiche più importanti su di un progetto Maven è il reload, che consente di evitare il re-deployment dell’applicativo in seguito a modifiche sul codice Java.

Build with Maven ultima modidfica: 2015-09-21T09:48:27+02:00 da admin
Posted in: Java

By on 21 Settembre 2015

Tagged: , , , , ,