Maven fromdummiesUna breve introduzione a Maven
Definizione di MavenProject Management Tool che supporta lo sviluppatore durante la gestione dellinterociclo di vita del p...
Il repository delledipendenze● Maven è stato un precursore del "cloud" con  i suoi repository● Il funzionamento è a cascat...
Dipendenze e coordinateUna dipendenza è identificata dalle coordinate allinterno dello spazio delledipendenze:    {       ...
Dipendenze e scope● test: utilizza per compilare src/test/java● system: non è sul repository di Maven ma sul local file   ...
Le fasi di un progettoIl ciclo di vita di un progetto è composto da un insieme di fasiben distinte: ● validate ● compile ●...
Goals e PluginsA ogni fase corrispondono uno o più goal (dipendente dalpackaging). Ad es. per un ear:   package ==> ear:ea...
Moduli e sottomoduli● Possiamo organizzare i progetti più  complessi in sottomoduli, ovvero progetti  che condividono lo s...
Profili e proprietà● Profili: permettono la ridefinizione di  qualsiasi elemento del pom a partire da  alcune condizioni o...
Resource filteringPermette luso delle property di Maven sui nostri file dirisorse: <property name="eclipselink.logging.lev...
Upcoming SlideShare
Loading in...5
×

Maven from dummies

359

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
359
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Maven from dummies

  1. 1. Maven fromdummiesUna breve introduzione a Maven
  2. 2. Definizione di MavenProject Management Tool che supporta lo sviluppatore durante la gestione dellinterociclo di vita del progetto.Per raggiungere lobiettivo di fornire un supporto completo, Maven espone una serie difeatures: ● build system: ha un sistema di building ben definito (da fasi) e facile da utilizzare ● astrazione del progetto: realizzata mediante la presenza di un file "POM" dove descriviamo il progetto senza indicare proceduralmente come. ● definisce degli standard: si utilizza un approccio di tipo convention based ● crea il sito del progetto: es. apache.org è fatto con Maven ● definisce il ciclo di vita del progetto: mediante una gerarchia di "fasi", composte da "goal", obiettivo specifico di una fase ● basato su plugin: ad ogni goal è associato un plugin. I plugin utente sono la SPI con la quale personalizziamo Maven.
  3. 3. Il repository delledipendenze● Maven è stato un precursore del "cloud" con i suoi repository● Il funzionamento è a cascata, ovvero ○ local repository ○ enterprise mirror ○ cloud repository● Il default è ○ local repository: $HOME/.m2/repository ○ cloud repository: repo1.maven.org
  4. 4. Dipendenze e coordinateUna dipendenza è identificata dalle coordinate allinterno dello spazio delledipendenze: { groupId: obbligatorio, artifactId: obbligatorio, version: obbligatorio, packaging: default jar, classifier: default "" }Le dipendenze sono di due tipi: ● release: la copia sul repository locale è definitiva. ● snapshot: viene con una certa frequenza controllato il repository remoto se lo "snapshot" è stato aggiornato.
  5. 5. Dipendenze e scope● test: utilizza per compilare src/test/java● system: non è sul repository di Maven ma sul local file system● compile: comprende tutte le altre● provided: inclusa a compile time ma non nellartifact da deployare. Non è transitiva● runtime: inclusa nellartifact da deployare ma non a compile-time● import: non importa lartifact ma le dipendenze dell artifact.
  6. 6. Le fasi di un progettoIl ciclo di vita di un progetto è composto da un insieme di fasiben distinte: ● validate ● compile ● test ● package ● integration-test ● verify ● install ● deployognuna delle quali lancia un insieme di goal e dipende dallaprecedenti (ovvero lanciando package vengono eseguitevalidate, compile, test, package)
  7. 7. Goals e PluginsA ogni fase corrispondono uno o più goal (dipendente dalpackaging). Ad es. per un ear: package ==> ear:earad ogni goal corrisponde uno ed un solo plugin ear:ear ==> org.apache.maven.plugins:maven-ear- plugin:2.4.1:ear
  8. 8. Moduli e sottomoduli● Possiamo organizzare i progetti più complessi in sottomoduli, ovvero progetti che condividono lo stesso ciclo di build● Possiamo anche definire moduli che ereditano da altri moduli● Ovviamente è possibile una combinazione dei due
  9. 9. Profili e proprietà● Profili: permettono la ridefinizione di qualsiasi elemento del pom a partire da alcune condizioni o semplicemente da un parametro di mvn● Proprietà: permettono la parametrizzazione interna o esterna del nostro POM o, attraverso il filtering, delle nostre risorse
  10. 10. Resource filteringPermette luso delle property di Maven sui nostri file dirisorse: <property name="eclipselink.logging.level" value="${eclipseLinkLogLevel}"/>di default è disabilitato, per abilitarlo basta ridefinire il tagsulla cartella per la quale ne abbiamo bisogno, tipicamente: <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×