LEARNTEK
Cos’è Maven?
Maven è uno strumento di automazione e gestione sviluppato da Apache Software Foundation. È stato inizialmente rilasciato il 13 luglio 2004. Nella lingua yiddish il significato di Maven è “accumulatore di conoscenza”. Maven è uno strumento di gestione e comprensione del progetto che fornisce agli sviluppatori un quadro completo del ciclo di vita della build. Il team di sviluppo può automatizzare l’infrastruttura di compilazione del progetto in pochissimo tempo poiché Maven utilizza un layout di directory standard e un ciclo di vita predefinito. Maven è un potente strumento di gestione del progetto basato su POM (project object model). Viene utilizzato per la compilazione di progetti, la dipendenza e la documentazione. Semplifica il processo di costruzione come ANT. Ma è troppo avanzato di ANT. Maven include informazioni sul progetto e informazioni di configurazione per Maven come directory di costruzione, directory di origine, dipendenza, directory di origine di test, Obiettivi, plugin, ecc.
Quali sono le caratteristiche chiave di Maven?
- Semplice impostazione di un progetto che segue le migliori pratiche
- utilizzo Costante in tutti i progetti
- Facile modo per costruire progetti inutili i dettagli sono nascosti
- Uniforme sistema di build, dove un normale strategia è seguita
- la gestione delle Dipendenze tra cui l’aggiornamento automatico
- la Qualità del progetto, come elenchi di dipendenza, riferimento fonti e unità di rapporti di prova
- la gestione delle Dipendenze, tra cui l’aggiornamento automatico e la dipendenza chiusure
- La capacità di gestire più progetti contemporaneamente
- Dinamico il download di Java e librerie di plugin Maven repository
- Modello build − Maven è in grado di creare qualsiasi numero di progetti predefiniti tipi di output come jar, war, metadati
- Coerente sito di informazioni del progetto, Utilizzando lo stesso metadati per il processo di generazione, maven è in grado di generare un sito web in formato PDF e completo di documentazione
- Compatibilità – Si può facilmente porta il più moduli di un progetto Maven 3 da versioni precedenti di Maven. Può supportare anche le versioni precedenti
- Build parallele-Analizza il grafico delle dipendenze del progetto e consente di creare moduli di pianificazione in parallelo. Utilizzando questo, è possibile ottenere i miglioramenti delle prestazioni del 20-50%.
Quali sono i concetti fondamentali di Maven?
- Costruire plugin: Costruire plugin sono utilizzati per eseguire obiettivo specifico. È possibile aggiungere un plugin al file POM. Maven ha alcuni plugin standard che puoi usare e puoi anche implementarne uno in Java.
- Crea profili: Crea profili un insieme di valori di configurazione che consente di creare il progetto utilizzando diverse configurazioni. Ad esempio, potrebbe essere necessario creare il progetto per il computer locale, per lo sviluppo e il test. Per abilitare diverse build è possibile aggiungere diversi profili di build ai file POM utilizzando gli elementi dei profili e vengono attivati in vari modi.
- File POM: i file POM (Project Object Model) sono file XML che contengono informazioni relative al progetto e informazioni di configurazione come dipendenze, directory di origine, plugin e obiettivi ecc. utilizzato da Maven per costruire il progetto. Quando dovresti eseguire un comando maven, dai a maven un file POM per eseguire i comandi. Maven legge pom.file xml per eseguire la configurazione e le operazioni.
- Dipendenze e repository: le dipendenze sono librerie Java esterne necessarie per il progetto e i repository sono directory di file JAR confezionati. Il repository locale è solo una directory sul disco rigido del computer. Se le dipendenze non vengono trovate nel repository Maven locale, Maven le scarica da un repository Maven centrale e le inserisce nel repository locale.
- Costruire cicli di vita, fasi e obiettivi: Un ciclo di vita di costruzione è costituito da una sequenza di fasi di costruzione, e ogni fase di costruzione è costituito da una sequenza di obiettivi. Comando Maven è il nome di una build ciclo di vita, fase o obiettivo. Se viene richiesto un ciclo di vita eseguito dando il comando maven, vengono eseguite anche tutte le fasi di compilazione in quel ciclo di vita. Se viene richiesta l’esecuzione di una fase di compilazione, vengono eseguite anche tutte le fasi di compilazione precedenti nella sequenza definita.
Cosa fa maven?
Di seguito sono riportate le attività eseguite da Maven:
- Possiamo facilmente costruire un progetto usando maven.
- Possiamo aggiungere facilmente jar e altre dipendenze del progetto usando l’aiuto di maven.
- Maven fornisce informazioni sul progetto (documento di log, elenco delle dipendenze, rapporti di test unitari, ecc.)
- Maven è molto utile per un progetto durante l’aggiornamento del repository centrale di JAR e altre dipendenze.
- Con l’aiuto di Maven possiamo costruire qualsiasi numero di progetti in tipi di output come JAR, WAR ecc.
- Usando maven possiamo facilmente integrare il nostro progetto con il sistema di controllo del codice sorgente (come Subversion o Git).
Vantaggi dell’utilizzo di Maven:
- Maven può aggiungere automaticamente tutte le dipendenze richieste per il progetto leggendo il file pom.
- Si può facilmente costruire il loro progetto a jar, war ecc. secondo le loro esigenze usando Maven.
- Maven rende facile avviare il progetto in ambienti diversi e non è necessario gestire l’iniezione, le build, l’elaborazione, ecc. delle dipendenze.
- Aggiungere una nuova dipendenza è molto semplice. Basta scrivere il codice di dipendenza nel file pom.
Svantaggi dell’utilizzo di Maven:
- Maven ha bisogno dell’installazione di maven nel sistema per funzionare e del plugin maven per l’ide.
- Se il codice maven per una dipendenza esistente non è disponibile, non è possibile aggiungere tale dipendenza usando maven.
Sommario:
Maven è uno strumento di automazione e gestione. Maven è un popolare strumento di compilazione open source per i progetti Java aziendali, progettato per prendere gran parte del duro lavoro del processo di compilazione. Maven utilizza un approccio dichiarativo, in cui vengono descritti la struttura del progetto e i contenuti, piuttosto che l’approccio basato sulle attività utilizzato in Ant o nei tradizionali file make, ad esempio. Ciò aiuta a far rispettare gli standard di sviluppo a livello aziendale e riduce il tempo necessario per scrivere e gestire gli script di compilazione. Quando si utilizza Maven, si descrive il progetto utilizzando un modello a oggetti di progetto ben definito, Maven può quindi applicare la logica trasversale da un insieme di plugin condivisi (o personalizzati). In caso di ambiente di più team di sviluppo, Maven può impostare il modo di lavorare secondo gli standard in un tempo molto breve. Poiché la maggior parte delle configurazioni del progetto sono semplici e riutilizzabili, Maven semplifica la vita dello sviluppatore durante la creazione di report, controlli, build e test delle impostazioni di automazione.