what is maven maven tutorial
Questo tutorial introduttivo su Maven spiegherà cos'è Maven, perché utilizzare Maven, la sua definizione, le terminologie di base, i tipi di repository Maven, ecc:
In questo tutorial, esploreremo Maven, la sua definizione, panoramica, passaggi operativi su Maven e comprenderemo in dettaglio la terminologia di base su Maven, le attività eseguite da Maven e i tipi di repository Maven.
Iniziamo!!
Elenco dei tutorial in questa serie di Maven
Tutorial n. 1: Cos'è Maven - Tutorial Maven per principianti (Questo tutorial)
Tutorial n. 2: Cosa sono POM (Project Object Model) e Pom.Xml in Maven
Tutorial n. 3: Plugin Gradle Vs Maven e Maven
Tutorial n. 4: Dipendenza e integrazione di Maven con Eclipse e TestNG
Tutorial n. 5: Documentazione di Maven con Jenkins e Maven per i progetti
Tutorial # 6: 31 Domande e risposte ai colloqui di Maven più frequenti
Cosa imparerai:
Cos'è Maven
Maven è uno strumento di compilazione e gestione dei progetti generalmente utilizzato nei framework creati in Java. È sviluppato da Apache Software Foundation. Maven, una parola della lingua yiddish, significa 'raccoglitore di conoscenza'. È stato introdotto per rendere il processo di attivazione della build in Jakarta Turbine Project.
Maven è controllato dal file pom (Project Object Model). Mentre lavoriamo con i framework Java integrati, spesso dobbiamo affrontare una serie di dipendenze.
Prima che Maven entrasse in scena, tutte le dipendenze, che non sono altro che file JAR, dovevano essere aggiunte manualmente al nostro framework. Inoltre, dovevamo occuparci dell'aggiornamento del software nel nostro progetto.
qual è la differenza tra c ++ e java
Maven garantisce che i file JAR e le librerie del progetto vengano scaricati automaticamente. Nel file pom .xml vanno descritte solo le informazioni relative alle versioni del software e al tipo di dipendenze.
Maven può occuparsi di progetti in Ruby, C # e altri linguaggi. Assume il compito di costruire progetti, le loro dipendenze e la documentazione.
ANT, un altro strumento sviluppato da Apache Software Foundation, viene utilizzato anche per la creazione e la distribuzione di progetti. Ma Maven è più avanzato di ANT. Come ANT, Maven ha reso semplice il processo di costruzione. Quindi, in breve, Maven ha semplificato la vita degli sviluppatori.
Perché usare Maven
Maven svolge le seguenti attività:
- Repository per ottenere le dipendenze.
- Avere una struttura di cartelle simile in tutta l'organizzazione.
- Integrazione con strumenti di integrazione continua come Jenkins.
- Plugin per l'esecuzione di test.
- Fornisce informazioni su come viene sviluppato il software / progetto.
- Il processo di creazione è reso più semplice e coerente.
- Fornisce linee guida per le migliori pratiche da seguire nel progetto.
- Migliora le prestazioni del progetto.
- Facile passare a nuovi attributi di Maven.
- Integrazione con strumenti di controllo della versione come Git.
Maven si occupa di processi come rilasci, distribuzione, reporting, build, documentazione e SCM. Maven si connette al repository Maven Central e li carica in locale. Alcuni degli IDE che supportano lo sviluppo di progetti con Maven sono NetBeans, Eclipse, IntelliJ e così via.
Maven dovrebbe essere utilizzato nei nostri progetti nei seguenti scenari:
- Se il progetto richiede un numero elevato di dipendenze.
- Se la versione delle dipendenze necessita di frequenti aggiornamenti.
- Se il progetto necessita di una rapida documentazione, compilare e impacchettare il codice sorgente in file JAR o ZIP.
Fasi operative di Maven
# 1) Per prima cosa Maven passa attraverso il file POM .xml.
#Due) Le dipendenze vengono caricate nel repository locale.
# 3) Attraversa i cicli di vita incorporati di Maven come mostrato di seguito:
- Predefinito: Si occupa della distribuzione del progetto.
- Pulito: Rimuove eventuali errori, quindi pulisce il progetto e rimuove l'artefatto prodotto dal precedente processo di compilazione.
- Posto: Si occupa della documentazione del progetto.
# 4) Ogni ciclo integrato ha diverse fasi. Per esempio, l'impostazione predefinita ha ventitré fasi mentre clean e site ha rispettivamente tre e quattro fasi.
# 5) Ogni ciclo Maven passa attraverso diverse fasi in cui una fase particolare ha un obiettivo specifico.
Alcune delle fasi importanti sono elencate di seguito:
- Convalidare: Verifica se tutti i dati sui prerequisiti per il completamento della compilazione sono disponibili.
- Compilare: Il codice sorgente viene compilato.
- Test- compilazione: Il codice sorgente del test viene compilato.
- Test: I casi di unit test vengono eseguiti.
- Pacchetto: Il codice sorgente viene compilato e impacchettato in file JAR o ZIP.
- Test di integrazione: Il pacchetto viene distribuito e, in caso di problemi, vengono eseguiti i casi di test di integrazione.
- Pacchetto di installazione: Viene installato nel repository locale.
- Distribuire: Una copia del pacchetto viene resa disponibile dal repository remoto.
Queste fasi devono essere eseguite in ordine. Inoltre, se il file distribuire fase, cioè la fase finale del ciclo Maven deve essere eseguita, quindi tutte le fasi precedenti a quel ciclo devono essere completate con successo.
Dal prompt dei comandi, le fasi vengono eseguite nel modo seguente:
mvn , per esempio, mvn validate
# 6) Un gruppo di gol di Maven compone una fase. Proprio come le fasi di Maven, ogni obiettivo deve essere eseguito in un ordine specifico.
Un obiettivo ha la seguente sintassi:
Plugin: obiettivo
Di seguito abbiamo discusso alcune delle fasi insieme agli obiettivi ad esse legati:
- compilatore: compilare (utilizzato in fase di compilazione)
- compilatore: test (utilizzato nella fase di compilazione del test)
- infallibile: test (utilizzato in fase di test)
- install: installa (utilizzato in fase di installazione)
- vaso: guerra (usato in fase di confezionamento)
- war: war (utilizzato nella fase di confezionamento)
Le fasi operative di come funziona Maven sono mostrate schematicamente di seguito:
domande e risposte dell'intervista allo sviluppatore salesforce per esperti
Terminologie in Maven
- POM : Sta per Project Object Model. È un file XML che contiene le informazioni sul progetto, le dipendenze presenti nel progetto, la directory del file sorgente, le informazioni sul plug-in e così via. Questi sono i dati necessari a Maven per realizzare completamente il progetto. Maven legge il file pom per ottenere tutte queste informazioni.
Di seguito è mostrato il progetto Maven in Eclipse IDE con uno snippet di codice dal file XML POM.
- GroupId : Riconosce il nostro progetto in modo univoco da tutti i progetti. GroupId fa parte del file pom. Viene spesso detto come identità per il gruppo di progetti.
- ArtifactId : Un file jar distribuito nel repository Maven. ArtifactId fa parte del file pom. Viene spesso detto come identità e nome del nostro progetto.
- Versione : Specifica la versione del jar del progetto. Anche la versione fa parte del file pom.
Come illustrato nell'immagine sopra, possiamo vederlo ei tag formano la parte delle dipendenze definite per il progetto.
- Repository centrale di Maven : Questo è il segnaposto in cui sono presenti i jar, le librerie, i plug-in e i dati di configurazione richiesti da Maven per la creazione del progetto.
Se vogliamo aggiungere le dipendenze del selenio nel nostro progetto, dobbiamo avere lo snippet di codice seguente nel file pom.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
Tra i molteplici progetti sollevati nel repository centrale di Maven, identifica Selenium con l'aiuto del groupId. Allo stesso modo, ArtifactId è come un sottoprogetto sotto groupId.
Per esempio, Il codice Selenium è supportato da linguaggi come Java, C # e così via. Qui, da artifactId, è evidente che ci stiamo collegando solo ai JAR associati a Java. Inoltre, anche la versione del JAR da associare al progetto fa parte delle dipendenze.
Possiamo anche pubblicare il nostro progetto nel repository Maven fornendo queste tre informazioni.
Repository Maven
Il repository Maven può essere di tre tipi:
- Repository locale
- Repository remoto
- Repository centrale
Una volta che Maven legge le dipendenze dal file POM, le cerca prima nel repository locale, poi nel repository centrale e infine nel repository remoto. Se le dipendenze non vengono trovate in nessuno dei tre repository, l'utente viene avvisato con un errore e il processo viene interrotto.
# 1) Repository locale di Maven
Il repository locale si trova nel nostro sistema locale, principalmente in .m2 (C: / Users / superdev /.m2) che mostra la sua presenza una volta che Maven è installato nel nostro sistema e siamo stati in grado di eseguire con successo un comando Maven.
È anche possibile modificare questa posizione in settings.xml (MAVEN_HOME / conf /settings.xml) con l'aiuto del localRepository etichetta.
Sotto lo snippet di codice xml, mostra come modificare le posizioni del repository locale:
C: Maven m2 # 2) Maven Central Repository
Archivio centrale è sviluppato dal gruppo Apache Maven ed è ospitato sul web. Questo è considerato come il repository centrale e ha tutte le librerie comuni. Come un repository locale, possiamo anche modificare la posizione in cui devono essere scaricati per impostazione predefinita cambiando il file setting.xml.
# 3) Repository remoto Maven
Il repository remoto è anche ospitato sul Web. In alcuni scenari, un'azienda può sviluppare il proprio repository remoto ed eseguire distribuzioni sui propri progetti privati. Questi saranno di proprietà di quella specifica azienda e potranno essere gestiti solo al suo interno.
Il repository remoto ha modelli di lavoro simili come un repository centrale. Ogni volta che sono richieste dipendenze o configurazioni da questi repository, devono essere prima scaricate nel nostro locale e quindi utilizzate.
Di seguito è mostrato un codice xml di esempio per il repository remoto con ID e URL.
com.src.repository http://maven.comp.com/maven2/
Conclusione
Ci auguriamo che tu abbia un'idea chiara di cosa sia Maven, perché utilizziamo Maven, passaggi operativi su Maven, cicli Maven, Fasi, Obiettivi, terminologie di base su Maven e Tipi di repository Maven.
Nel nostro prossimo tutorial, esploreremo come costruire un progetto in Maven, l'ambiente configurato per Maven e molti altri argomenti correlati.
Lettura consigliata
- Integrazione di Maven con TestNg utilizzando il plug-in Maven Surefire
- Tutorial AWS CodeBuild: estrazione del codice da Maven Build
- Configurazione di Maven con Eclipse Java IDE
- Cosa sono POM (Project Object Model) e pom.xml in Maven
- Plugin Gradle Vs Maven e Maven
- Documentazione di Maven con Jenkins e Maven per i progetti
- 31 Domande e risposte ai colloqui di Maven più frequenti
- Dipendenza e integrazione di Maven con Eclipse e TestNG