documentazione_3di_riservata:manuali_sviluppo:maven
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| documentazione_3di_riservata:manuali_sviluppo:maven [2015/08/25 09:31] – [Configurazione di maven] aalberghini | documentazione_3di_riservata:manuali_sviluppo:maven [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1 | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| - | ====== Introduzione a maven ====== | ||
| - | |||
| - | Maven è uno strumento nato per gestire i progetti Java. È in grado di occuparsi, se opportunamente configurato, | ||
| - | Il progetto maven dispone di un [[http:// | ||
| - | |||
| - | ===== Progetti, artefatti, SNAPSHOT e file pom.xml ===== | ||
| - | |||
| - | Ogni progetto è identificato dai seguenti 2 parametri: | ||
| - | |||
| - | * groupId | ||
| - | * artifactId | ||
| - | |||
| - | Il primo è un identificativo univoco del produttore del software (per esempio, org.apache per la Apache Software Foundation), | ||
| - | |||
| - | Ogni artefatto ha __necessariamente__ un numero di versione, per esempio 1.0.0. È possibile apporre il suffisso " | ||
| - | |||
| - | Tutte queste informazioni (e molte altre) vengono immesse nel file **pom.xml** presente nella root directory del progetto, che rappresenta il modello del progetto e conterrà tutti i metadati necessari a maven per risolvere le dipendenze, compilarlo, eseguire i test, ecc. | ||
| - | |||
| - | ===== Build lifecycle e goals===== | ||
| - | |||
| - | Il concetto di build di un progetto in maven è concepito come un "build lifecycle", | ||
| - | - validate | ||
| - | - compile | ||
| - | - test | ||
| - | - package | ||
| - | - integration-test | ||
| - | - verify | ||
| - | - install | ||
| - | |||
| - | Essendo il processo già noto e ben definito, il pom.xml non serve ad altro se non a specificare i parametri necessari ad eseguire tutte le varie fasi dei lifecycle. | ||
| - | |||
| - | Nel caso in cui ci si appoggi a plugin aggiuntivi per creare gli artefatti del proprio progetto, è probabile che questi presentino dei loro step aggiuntivi che vanno ad aggiungersi ai passi della normale build: questi step prendono il nome di goal e si specificano solitamente nella forma **nome_plugin: | ||
| - | < | ||
| - | mvn clean dependency: | ||
| - | </ | ||
| - | nel quale si indica a maven di eseguire il passo **clean**, seguito dal goal **copy-dependencies** del plugin **dependency**, | ||
| - | |||
| - | |||
| - | Per ulteriori approfondimenti, | ||
| - | |||
| - | |||
| - | ====== Sonatype Nexus ====== | ||
| - | |||
| - | [[http:// | ||
| - | |||
| - | Un' | ||
| - | |||
| - | ====== Configurazione di maven ====== | ||
| - | |||
| - | Per potersi appoggiare al nostro server Nexus, è necessario configurare maven in modo da istruirlo su dove reperire gli artefatti. Per farlo è sufficiente modificare (o creare, se non già esistente) il file '' | ||
| - | |||
| - | <code xml> | ||
| - | <?xml version=" | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | <!--This sends everything else to /public --> | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | <!--all requests to nexus via the mirror --> | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | < | ||
| - | <!--make the profile active all the time --> | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | Come si può notare, è anche presente una sezione deployment all' | ||
| - | < | ||
| - | mvn deploy | ||
| - | </ | ||
| - | |||
| - | ====== Riferimenti esterni ====== | ||
| - | |||
| - | [[http:// | ||
| - | |||
| - | [[https:// | ||
| - | |||
| - | [[https:// | ||
| - | |||
| - | [[http:// | ||
| - | |||
| - | [[http:// | ||
| - | |||
| - | |||
/data/attic/documentazione_3di_riservata/manuali_sviluppo/maven.1440487866.txt.gz · Ultima modifica: (modifica esterna)