Tutorial Maven: tutto ciò che devi sapere per iniziare



Questo blog sul tutorial di Maven copre tutto ciò che devi sapere per iniziare con Maven e creare i tuoi progetti.

Invece di scrivere lunghi script per costruire i tuoi progetti e scaricare manualmente le dipendenze, perché non usare Maven e sbarazzarti di questo casino. Questo blog sul tutorial di Maven tratterà tutto ciò di cui hai bisogno per iniziare a utilizzare Maven per il tuo progetto. Dopo aver compreso a fondo questo tutorial di Maven, il prossimo probabile passo sarà imparare Jenkins che copre la fase di integrazione continua di .

In questo blog sul tutorial di Maven, tratteremo i seguenti argomenti:

  1. Perché abbiamo bisogno di Maven?
  2. Cos'è Maven?
  3. Architettura Maven
  4. Ciclo di vita di Maven, fasi e obiettivi
  5. Progetto demo.

Perché abbiamo bisogno di Maven?

Se stai lavorando su progetti Java, la maggior parte delle volte hai bisogno di dipendenze. Le dipendenze non sono altro che librerie o file JAR. È necessario scaricarli e aggiungerli manualmente. Inoltre, il compito di aggiornare lo stack software per il progetto è stato eseguito manualmente prima di Maven. Quindi c'era bisogno di uno strumento di compilazione migliore in grado di gestire tali problemi.





Qui entra in gioco Maven. Maven può risolvere tutti i tuoi problemi relativi alle dipendenze. Devi solo specificare le dipendenze e la versione del software che desideri nel file pom.xml in Maven e Maven si occuperà del resto.Quindi ora proviamo a capire cosa sia esattamente Maven.

Cos'è Maven?

Il progetto Maven è sviluppato da Apache Software Foundation, dove in precedenza faceva parte del progetto Jakarta. Maven è un potente strumento di automazione della compilazione utilizzato principalmente per progetti basati su Java. Maven ti aiuta ad affrontare due aspetti critici della creazione di software:



c ++ vai a
  • Descrive come viene costruito il software
  • Descrive le dipendenze.

Maven preferisce la convenzione alla configurazione. Maven scarica dinamicamente le librerie Java e i plug-in Maven da uno o più repository come Maven Central Repository e li memorizza in una cache locale. Gli artefatti dei progetti locali possono anche essere aggiornati con questa cache locale. Maven può anche aiutarti a creare e gestire progetti scritti in C #, Ruby, Scala e altri linguaggi.

Il file Project Object Model (POM) è un file XML che contiene informazioni relative al progetto e informazioni di configurazione come dipendenze, directory di origine, plug-in, obiettivi e così via, utilizzato da Maven per creare il progetto. Quando esegui un comando Maven, dai a Maven un file POM per eseguire i comandi. Maven legge il file pom.xml per completare la configurazione e le operazioni.

Obiettivi Maven

Obiettivi Maven

Quando qualcuno dovrebbe usare Maven?

    1. Se sono presenti troppe dipendenze per il progetto.
    2. Quando la versione della dipendenza viene aggiornata frequentemente.
    3. Build, integrazione e test continui possono essere facilmente gestiti utilizzando Maven.
    4. Quando è necessario un modo semplice per generare documentazione dal codice sorgente, compilare il codice sorgente, impacchettare il codice compilato in file JAR o file ZIP.

Architettura Maven

Ciclo di vita di Maven, fasi e obiettivi

1. Ciclo di vita di Maven



C'è un ciclo di vita specifico che Maven segue per implementare e distribuire il progetto di destinazione.

Ci sono tre cicli di vita incorporati:

  • predefinito - Questo è il ciclo di vita principale di Maven poiché è responsabile della distribuzione del progetto.
  • pulito - Questo ciclo di vita viene utilizzato per pulire il progetto e rimuovere tutti i file generati dalla build precedente.
  • posto - Lo scopo di questo ciclo di vita è creare la documentazione del sito del progetto.

Ogni ciclo di vita è costituito da una sequenza di fasi. Il ciclo di vita della build predefinito consiste in 23 fasi poiché è il ciclo di vita della build principale di Maven

D'altra parte, il ciclo di vita pulito è composto da 3 fasi, mentre il ciclo di vita del sito è composto da 4 fasi.

2. Fasi di Maven

Una fase Maven non è altro che una fase del ciclo di vita della build Maven. Ogni fase esegue un'attività specifica.

Ecco alcune fasi importanti nel ciclo di vita della build predefinito:

  • convalidare - Questa fase verifica se sono disponibili tutte le informazioni necessarie per la compilazione
  • compilare - Questa fase compila il codice sorgente
  • test-compile - Questa fase compila il codice sorgente del test
  • test - Questa fase esegue test unitari
  • pacchetto - Questa fase confeziona il codice sorgente compilato nel formato distribuibile (jar, war)
  • test di integrazione - Questa fase elabora e distribuisce il pacchetto, se necessario, per eseguire i test di integrazione
  • installare - Questa fase installa il pacchetto in un repository locale
  • distribuire - Questa fase copia il pacchetto nel repository remoto

Maven esegue le fasi in un ordine specifico. Ciò significa che se eseguiamo una fase specifica utilizzando il comando come mvn, questo non eseguirà solo la fase specificata ma anche tutte le fasi precedenti.

Ad esempio, se si esegue il comando mvn deploy, ovvero la fase di distribuzione che è l'ultima fase del ciclo di vita della build predefinito, verranno eseguite anche tutte le fasi prima della fase di distribuzione.

3. Obiettivi di Maven

Una sequenza di obiettivi costituisce una fase e ogni obiettivo esegue un compito specifico. Quando esegui una fase, Maven esegue tutti gli obiettivi in ​​un ordine associato a quella fase. La sintassi utilizzata è plugin: goal. Alcune delle fasi e gli obiettivi predefiniti ad esse legati sono i seguenti:

  • compilatore: compilazione - fase di compilazione
  • compilatore: test - fase di compilazione del test
  • infallibile: test - fase di test
  • installazione: installazione - fase di installazione
  • jar and war: war - fase del pacchetto

Un plugin Maven è un gruppo di obiettivi. Tuttavia, questi obiettivi non sono necessariamente tutti legati alla stessa fase.Ad esempio, il plug-in Maven Failsafe che è responsabile dell'esecuzione dei test di integrazione. Per i test di unità, è necessario il plug-in Maven infallibile.

Progetto Demo

In questa sezione del Esperto di tutorial, daremo uno sguardo a un progetto demo. Per dimostrare come costruire un progetto usando Maven, ho creato un file Progetto Java insieme a TestNG utilizzando Eclipse IDE. Questo è un programma molto semplice in cui ho scritto del codice per testare il titolo di un sito web.

Il programma avvierà automaticamente un browser web, navigherà al sito web menzionato nel codice, recupererà il titolo di quella pagina web e lo confronterà con il titolo previsto. Se il titolo effettivo e il titolo previsto corrispondono, il test case ha esito positivo, altrimenti fallisce.

java quando usarlo

Quindi per questo progetto hai bisogno , Maven ed Eclipse scaricati sul tuo sistema. Le versioni che sto utilizzando sul mio sistema sono le seguenti:

  1. Eclisse - Enterprise Edition versione 4.12.0 (2019-06)
  2. Giava - versione 1.8.0_211
  3. Esperto di - versione 3.6.1
  • Oltre a questo, devi scaricare il plugin TestNG per Eclipse e puoi scaricarlo seguendo i seguenti passaggi:
    • Apri Eclipse e vai su Aiuto. In Guida fare clic sul marketplace di Eclipse.
    • Digita TestNG nella casella Trova e fai clic su Vai. Nei risultati, vedrai 'TestNG for Eclipse'. Devi scaricarlo.
  • Dopo aver configurato il sistema con le cose sopra menzionate, sei pronto per creare un progetto demo usando Maven. Quindi ora ti dirò tutti i passaggi necessari per farlo.
    • In Eclipse, fare clic su File -> Nuovo -> Progetto Maven.
    • Fare clic su Crea un progetto semplice (saltare la selezione dell'archetipo) e quindi fare clic su Avanti.
  • Ora vedrai una finestra con parametri come Group Id, Artifact Id e così via.
    • L'ID gruppo è l'ID univoco di un gruppo proprietario del progetto.
    • L'ID artefatto è il nome dell'unità di compilazione finale.
    • La versione è la versione del manufatto creato. SNAPSHOT indica il lavoro in corso.
    • Il packaging potrebbe essere vaso, guerra o pom a seconda del progetto. Per il nostro progetto, selezioneremo jar. Quindi dai il nome del tuo progetto.

  • Una volta creato il progetto, vedrai la struttura del tuo progetto Maven. Qui puoi vedere le seguenti cose:
    • pom.xml
    • src e target
    • src / main / java
    • src / test / java
    • Dipendenze di Maven
  • Ora crea un file di classe in src / main / test e chiamalo DemoClass. Questa classe contiene il codice Selenium che stiamo usando per i test. Ora abbiamo aggiunto Selenium, le dipendenze TestNG, il compilatore Maven e il plugin Surefire al file pom.xml. Di seguito è riportato il codice per DemoClass e pom.xml:
package maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {@Test public void test () genera InterructedException {// dichiarazione e istanziazione di oggetti / variabili //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver driver = new FirefoxDriver () // commenta le 2 righe precedenti e rimuovi il commento sotto 2 righe per utilizzare Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = new ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String expectedTitle = 'Welcome: Mercury Tours' String actualTitle = '' // avvia Fire fox e indirizzalo all'URL di base driver.get (baseUrl) // ottieni il valore effettivo del titolo actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * confronta il titolo effettivo della pagina con quello previsto e stampa * il risultato come 'Superato' o 'Non riuscito' * / if (actualTitle.contentEquals (expectedTitle)) {System.out.println ('Test Passed!')} else {System.out.println ('Test Failed')} // close Fire fox driver.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 test
  • Prima di eseguire il progetto è necessario convertire il file di classe DemoClass in un file TestNG. Per farlo, fai clic con il pulsante destro del mouse su DemoClass -> TestNG -> Converti in TestNG.

  • Ora per eseguire il progetto, fai clic con il pulsante destro del mouse su un progetto -> Esegui come -> Maven clean. Ciò cancellerà il progetto rimuovendo tutte le build precedenti.

  • Dopo la pulizia di Maven, è necessario testare il progetto poiché abbiamo scritto il codice per testare l'applicazione web. Quindi fai clic con il pulsante destro del mouse su progetto -> Esegui come -> Test Maven. Questo aprirà il sito web e corrisponderà al titolo del sito web. Se corrisponde, il nostro test case passerà.

  • Possiamo anche eseguire i comandi precedenti utilizzando un prompt dei comandi. Per questo, abbiamo bisogno del percorso del file pom.xml.

    • È possibile ottenere il percorso facendo clic con il pulsante destro del mouse sul file pom.xml -> Proprietà -> Posizione.
    • Copia il percorso, quindi apri un prompt dei comandi e incollalo lì usando cd. cd C: / Users / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Dopo averlo fatto, puoi nuovamente digitare comandi Maven come mvn clean e mvn test.

Quindi questo è da parte mia in questo blog sul tutorial di Maven. Spero che tu abbia capito le cose di cui abbiamo discusso in questo tutorial di Maven.

Ora che hai capito questo tutorial di Maven, dai un'occhiata a questo da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione sulla certificazione DevOps di Edureka aiuta gli studenti a capire cos'è DevOps e acquisire esperienza in vari processi e strumenti DevOps come Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack e GIT per l'automazione di più passaggi in SDLC.

Hai domande per noi? Per favore menzionalo nella sezione commenti di questo tutorial di Maven e ti risponderemo