Corso Maven
Corso Maven. Maven, una parola yiddish che significa “accumulatore di conoscenza”, è nato come tentativo di semplificare i processi di costruzione nel progetto Jakarta Turbine. C’erano diversi progetti, ciascuno con i propri file di build Ant, tutti leggermente diversi. I JAR sono stati archiviati in CVS. Inizialmente si cercava un modo standard per creare i progetti, una chiara definizione di cosa consistesse il progetto, un modo semplice per pubblicare le informazioni sul progetto e un modo per condividere i JAR tra diversi progetti.
Il risultato attuale è Maven oggi. Uno strumento che può essere utilizzato per creare e gestire qualsiasi progetto basato su Java. Maven semplifica il lavoro quotidiano degli sviluppatori Java e in generale aiuta nella comprensione di qualsiasi progetto basato su Java.
L’obiettivo principale di Maven è consentire a uno sviluppatore di comprendere in modo completo lo stato di sviluppo nel più breve periodo di tempo. Per raggiungere questo obiettivo, Maven si occupa di diverse aree di interesse:
- Semplifica il processo di costruzione
- Fornisce un sistema di building uniforme
- Fornire informazioni sulla qualità del progetto
- Incoraggiare migliori pratiche di sviluppo
- Semplifica il processo di building
- Sebbene l’utilizzo di Maven non elimini la necessità di conoscere i meccanismi sottostanti, Maven protegge gli sviluppatori da molti dettagli.
Fornisce un sistema di costruzione uniforme
Maven crea un progetto utilizzando il suo modello a oggetti di progetto (POM – project object model) e un set di plug-in. Una volta che si ha familiarizzato con un progetto Maven, si sa come costruire tutti i progetti Maven. Ciò consente di risparmiare tempo durante la navigazione di molti progetti.
Fornisce informazioni sulla qualità del progetto
Maven fornisce utili informazioni sul progetto che sono in parte tratte dal POM e in parte generate dalle fonti del progetto. Ad esempio, Maven può fornire:
- Registro delle modifiche creato direttamente dal controllo del codice sorgente
- Fonti incrociate
- Mailing list gestite dal progetto
- Dipendenze utilizzate dal progetto
- Reports sui unit test
- I prodotti di analisi del codice di terze parti forniscono anche plug-in Maven che aggiungono i propri rapporti alle informazioni standard fornite da Maven.
Fornisce linee guida per lo sviluppo di buone pratiche
Maven mira a raccogliere i principi attuali per lo sviluppo delle migliori pratiche e semplificare la guida di un progetto in questa direzione.
Ad esempio, la specifica, l’esecuzione e la segnalazione dei test unitari fanno parte del normale ciclo di compilazione utilizzando Maven. Le attuali migliori pratiche di unit test sono state utilizzate come linee guida:
- Mantenere il codice sorgente di test in un albero sorgente separato ma parallelo
- Utilizzo delle convenzioni di denominazione dei casi di test per individuare ed eseguire i test
- Avere casi di test imposta il proprio ambiente invece di personalizzare la build per la preparazione del test
- Maven assiste anche nel flusso di lavoro del progetto come la gestione dei rilasci e dei problemi.
Maven suggerisce anche alcune linee guida su come impaginare la struttura delle directory del proprio progetto. Una volta appreso il layout, si può navigare facilmente in altri progetti che utilizzano Maven.
Mentre Maven adotta un approccio supponente al layout del progetto, alcuni progetti potrebbero non adattarsi a questa struttura per ragioni storiche. Sebbene Maven sia progettato per essere flessibile alle esigenze di diversi progetti, non può soddisfare ogni situazione senza compromettere i suoi obiettivi.
Se il tuo progetto ha una struttura di costruzione insolita che non può essere riorganizzata, si dovrebbe rinunciare del tutto ad alcune funzionalità o all’uso di Maven.
Obiettivi del Corso Maven:
Formare lo studente per la gestione ed automazione dei progetti Java con Maven
Requisiti per i discenti Corso Maven:
Conoscenze di programmazione in Java SE, XML.
Corso Maven attivabile solo per le aziende e su richiesta.
Modalità virtual classroom online in diretta (o frontale in-house).
Programma didattico Corso Maven (24 ore)
Modulo 1: installazione e setting up ambiente Maven
Modulo 2: Costruzione di un progetto semplice
Esaminando il file pom.xml
Coordinate e dipendenze
Struttura delle directory
Modifica del codice e delle dipendenze
Esame dell’output
Modulo 3: Lavorare con le dipendenze
Coordinate
Individuazione di un nuovo requisito
Individuazione e aggiunta di una dipendenza in Maven Central
Utilizzare una nuova dipendenza
Formato repository
Versioni di rilascio
Modulo 4: scrittura ed esecuzione di unit test
Plugins
JUnit test
Risorse di Test
Test inclusi, esclusi e in esecuzione
Test in parallelo
Esempi di configurazione
Modulo 5: Creazione del software
Obiettivi
Plugin
Ciclo vitale
Convenzione sulla configurazione
Modulo 6: Pacchetti del software
plugin War
Plug-in Assembly
Programma Java standalone
Costruire un programma che crea un jar con dipendenze
plugin JAR
plug-in EAR
Versioni SNAPSHOT
Modulo 7: Creazione di un progetto multimodulo
Struttura del file system con una directory di primo livello
file pom.xml con relazioni
Raggruppamento dei progetti
Eredità
Aggregazione
Allineamento del numero di versione
Build multi-modulo
Reactor
Gerarchia multipla