Cosa fa
Maven è uno "strumento di gestione della compilazione", serve per definire il modo in cui i tuoi .java
file vengono compilati .class
, impacchettati in .jar
(o .war
o .ear
) file, (pre / post) elaborati con strumenti, gestendo il tuo CLASSPATH
e tutti gli altri tipi di attività necessarie costruisci il tuo progetto. È simile ad Apache Ant o Gradle o Makefile in C / C ++, ma cerca di essere completamente autonomo in esso e non dovresti avere bisogno di strumenti o script aggiuntivi incorporando altre attività comuni come il download e l'installazione delle librerie necessarie ecc.
È inoltre progettato attorno al tema "Portabilità build", in modo da non avere problemi con lo stesso codice con lo stesso buildscript che funziona su un computer ma non su un altro (questo è un problema noto, abbiamo VM di Windows 98 macchine poiché non siamo riusciti a compilare alcune delle nostre applicazioni Delphi altrove). Per questo motivo, è anche il modo migliore di lavorare su un progetto tra persone che usano IDE diversi poiché gli script Ant generati dall'IDE sono difficili da importare in altri IDE, ma oggigiorno tutti gli IDE comprendono e supportano Maven ( IntelliJ , Eclipse e NetBeans ). Anche se non ti piace Maven, finisce per essere il punto di riferimento per tutti gli altri strumenti di costruzione moderni.
Perché dovresti usarlo
Ci sono tre cose su Maven che sono molto belle.
Maven sarà (dopo si dichiara che quelli che si sta utilizzando) scaricare tutte le librerie che si utilizza e le librerie che essi utilizzano per voi automaticamente. Questo è molto bello e rende ridicolmente semplice gestire molte librerie. Questo ti permette di evitare "l'inferno delle dipendenze" . E 'simile a quella di Apache Ant Ivy .
Utilizza " Convenzione sulla configurazione " in modo che per impostazione predefinita non sia necessario definire le attività che si desidera eseguire. Non è necessario scrivere un passaggio di "compilazione", "test", "pacchetto" o "pulito" come si farebbe in Ant o in un Makefile. Metti i file nei punti in cui Maven li aspetta e dovrebbe funzionare fuori dal pipistrello.
Maven ha anche molti plug-in che è possibile installare che gestiranno molte attività di routine dalla generazione di classi Java da uno schema XSD utilizzando JAXB alla misurazione della copertura dei test con Cobertura . Aggiungili al tuo pom.xml
e si integreranno con tutto ciò che vuoi fare.
La curva di apprendimento iniziale è ripida, ma (quasi) ogni sviluppatore Java professionale utilizza Maven o desidera farlo. Dovresti usare Maven su ogni progetto, anche se non ti sorprendere se ti ci vuole un po 'di tempo per abituarti e che a volte vorresti poter fare semplicemente le cose manualmente, poiché imparare qualcosa di nuovo a volte fa male. Tuttavia, una volta che ti sarai veramente abituato a Maven, scoprirai che la gestione delle build non richiede quasi alcun tempo.
Come iniziare
Il miglior punto di partenza è " Maven in 5 minuti ". Ti farà iniziare con un progetto pronto per la codifica con tutti i file e le cartelle necessari impostati (sì, ti consiglio di usare l'archetipo di avvio rapido, almeno all'inizio).
Dopo aver iniziato, avrai bisogno di una migliore comprensione di come lo strumento deve essere utilizzato. Per questo " Better Builds with Maven " è il posto più completo per capire il modo in cui funziona, tuttavia, " Maven: The Complete Reference " è più aggiornato. Leggi il primo per capire, ma poi usa il secondo come riferimento.