maven dependency integration with eclipse
In questo tutorial, discuteremo l'integrazione di Maven con Eclipse e TestNG, Maven Dependency Scope e Maven Deployment Automation in dettaglio:
Nel tutorial precedente, abbiamo discusso il confronto tra Gradle vs Maven e Maven Plugins. Questo tutorial spiega come integrare Maven con altri strumenti, dipendenza Maven e distribuzione Maven.
come visualizzare i file .bin
Iniziamo!
=> Visita qui per l'esclusiva serie di tutorial di formazione Maven.
Cosa imparerai:
- Integrazione di Maven con Eclipse
- Integrazione di Maven con TestNG
- Ambito di dipendenza Maven
- Maven Deployment Automation
- Plugin di rilascio di Maven
- Conclusione
- Lettura consigliata
Integrazione di Maven con Eclipse
Come integrare Maven con Eclipse è già stato discusso approfonditamente su questo pagina
In alcuni scenari in cui creiamo un progetto Maven dal prompt dei comandi e dobbiamo portare quel progetto in Eclipse, devono essere eseguiti i seguenti passaggi.
# 1) Vai alla posizione del file pom per il progetto Maven. Esegui il comando seguente.
mvn eclipse: eclipse
# 2) .classpath e .progetto verrà creato nella posizione del progetto Maven.
Verifica se il plug-in Maven è già fornito in Eclipse da Windows => Preferenze , Maven dovrebbe essere presente lì. Tutte le attuali versioni di Eclipse hanno i plugin Maven per impostazione predefinita e se non è lì, possiamo ottenerlo da Qui .
# 3) Ora per far funzionare Maven ed Eclipse insieme, importa il progetto Maven dal File. Quindi seleziona il file Progetto Maven esistente.
# 4) Sfoglia la posizione del progetto e procedi.

L'immagine mostrata sopra mostra il progetto Maven importato in Eclipse.
Integrazione di Maven con TestNG
Come integrare Maven con TestNG è stato discusso in modo approfondito nella pagina sottostante.
=> Integrazione di Maven con TestNg utilizzando il plugin Maven Surefire
Sebbene abbiamo integrato Maven con TestNG nel nostro progetto, potrebbero esserci situazioni in cui il nostro progetto ha più di un file xml Testng. Per esempio, le funzionalità dell'intera suite di regressione sono descritte in un testng.xml e i casi di test di sanità mentale sono descritti nell'altro file testng.xml.
In una situazione come questa, dobbiamo usare il profilo concetto a Maven. Nel file pom, dobbiamo definire i profili. Ciascuno è una parte del tag e ha un associato ad esso.
Di seguito viene fornito un file pom.xml con snippet di codice dei profili:
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
Tieni presente che abbiamo due profili sopra, descritti sotto e ogni profilo ha un ID associato ad esso. Per esempio, Regressione e Sanità inoltre, sotto suiteXmlFiles, abbiamo definito il nome del file xml Testng corrispondente all'id ( testngRegression.xml e testngSanity.xml ).
come faccio ad aprire i file apk
Quindi abbiamo due profili qui e possiamo controllare ogni file Testng con l'aiuto di un singolo file pom.
Ora per attivare un test case per ogni file Testng direttamente dal prompt dei comandi, dobbiamo spostarci nella cartella del progetto ed eseguire il seguente comando.
mvn test –PRegression
Una volta eseguito, Maven cerca il profilo con l'id Regression e il corrispondente testngRegression.xml file. Così vengono eseguiti solo i test coinvolti.
Allo stesso modo, per un profilo con id Sanity, il comando è:
mvn test –PSanity
Qui il file testngSanity.xml viene utilizzato per determinare i casi di test da eseguire. Pertanto, per attivare un particolare set di casi di test, non è necessario modificare il nome del file TestNG nel pom, piuttosto può essere facilmente ottenuto mantenendo file TestNG separati.
Nel file pom, possiamo mappare questi file e infine eseguirli con l'aiuto dei profili in Maven dal prompt dei comandi.
Ambito di dipendenza Maven
Maven ha un totale di sei ambiti come elencato di seguito.
- Fornito
- Test
- Sistema
- Importare
- Compilare
- Runtime
# 1) Ambito di runtime
La dipendenza Maven ha un ambito come runtime e non viene utilizzata per scopi di compilazione. Costituisce un classpath per l'esecuzione e il test del progetto. Lo snippet di codice seguente mostra una dipendenza dall'ambito di runtime.
com.softwaretesting MavenJava 2.3 runtime
# 2) Ambito del sistema
La dipendenza Maven con ambito come sistema ha una somiglianza con l'ambito fornito. Le dipendenze di sistema non possono essere scaricate dal repository remoto e generalmente si trovano nelle directory del progetto. Lo snippet di codice seguente mostra una dipendenza dall'ambito del sistema.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Ambito fornito
La dipendenza Maven che ha un ambito come previsto è necessaria per la creazione e il test dei progetti. Non è consigliabile esportare questa dipendenza, poiché sono disponibili in fase di runtime. Tuttavia, questa dipendenza è necessaria per eseguire la build. Lo snippet di codice seguente mostra una dipendenza dall'ambito fornito.
com.test MavenJava2 5.1.1 provided
# 4) Ambito del test
La dipendenza Maven che ha un ambito di prova non è richiesta per la creazione e l'esecuzione del progetto. Sono essenzialmente usati per compilare ed eseguire i casi di unit test. Lo snippet di codice seguente mostra una dipendenza dall'ambito del test.
com.testing MavenJava3 1.0.2 test
# 5) Importa ambito
All'interno del file pom, il file dependencyManagement la sezione contiene l'importazione dell'ambito. Ciò significa che la dipendenza deve essere modificata con il gruppo effettivo di dipendenze fornito nella sezione Gestione delle dipendenze del file pom. Lo snippet di codice seguente mostra una dipendenza dall'ambito di importazione.
VPN usando criptovalute
com.testhelp MavenJava4 SNAP import pom
# 6) Compilare l'ambito
La dipendenza Maven che ha un ambito di compilazione è quella predefinita. Questa dipendenza è essenziale per la creazione, il test e l'esecuzione del progetto. Questo è principalmente importante per risolvere il codice sorgente Java con istruzioni di importazione. Il frammento di codice seguente mostra una dipendenza dall'ambito di compilazione.
logging log 2.1.3 compile
Maven Deployment Automation
L'implementazione del progetto è una fase critica e prevede più passaggi definiti come elencato di seguito:
- Il codice sviluppato per essere controllato nel repository.
- Codice sorgente da scaricare dal repository.
- Compilazione e creazione dell'applicazione e generazione di file JAR o WAR.
- Inserimento dei file JAR o WAR identificati in un percorso di rete familiare.
- Carica i file JAR o WAR.
- Distribuire i file JAR o WAR scaricati sul server di destinazione.
- Il nuovo numero di versione dell'applicazione e la data da aggiornare nella documentazione.
I passaggi sopra menzionati sono seguiti da ciascun membro dei team coinvolti nel progetto. Al di fuori dei passaggi sopra elencati, se qualcuno viene perso o qualcosa non è stato fatto correttamente, il risultato è errore di compilazione e distribuzione . Quindi, nel mezzo, se ci sono errori, devono essere corretti automaticamente.
Maven segue il metodo di automazione della distribuzione per rendere la distribuzione automatica e robusta. Ciò si ottiene dalla combinazione dei processi elencati di seguito:
- Realizzazione e rilascio del progetto a cura di Maven.
- Il codice sorgente deve essere gestito da subversion e dal repository del codice sorgente.
- Binari di progetto per prendersi cura del gestore di repository remoto.
Il processo di creazione e rilascio automatizzato di Maven è gestito dal plug-in di rilascio di Maven. Il file pom.xml dovrebbe essere aggiornato come illustrato di seguito.
Il codice seguente è per il progetto com.softwaretestHelp pom.xml
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy (SampleTest-Web- checkin) junit junit 3.9 test
Le caratteristiche salienti nel file pom.xml sopra sono elencate di seguito:
- SCM : La posizione di SVN (dove è presente il codice sorgente) è configurata da SCM.
- Archivi : Questa è la posizione dei file JAR o WAR o EAR o di qualsiasi altro artefatto del progetto dopo il completamento con successo della creazione del progetto.
- Collegare : Automazione della distribuzione eseguita dal plug-in di rilascio Maven.
Plugin di rilascio di Maven
Il plugin di rilascio di Maven svolge le seguenti attività:
- mvn release: clean - Pulisce l'area di lavoro della build precedente prima dell'arrivo della build futura.
- mvn release: rollback - In caso di fallimento della build precedente, torna all'area di lavoro.
- mvn release: preparare - Verifica se ci sono modifiche non salvate nei file o meno. Inoltre, controlla le dipendenze dello snapshot e aggiorna il numero di versione dell'applicazione. Modifica il pom in SCM. Si prende cura dell'esecuzione del test case e fa il commit del codice finale a SCM. Esegue l'etichettatura del codice nella sovversione. Infine, il numero di versione viene incrementato e allegato a SNAPSHOT per altre versioni future da questo plugin.
- mvn release: eseguire - Controlla il codice presente nel repository e quindi esegue gli obiettivi di compilazione Maven per distribuire l'artefatto di compilazione nel repository.
Infine, dobbiamo eseguire il comando seguente per la creazione del progetto:
mvn release: prepare
Una volta completato con successo la compilazione, eseguire il seguente comando:
mvn release: perform
Ora il file WAR viene caricato nel repository.
Conclusione
Ci auguriamo che le parti principali dell'integrazione di Maven con Eclipse, la sua integrazione con TestNG, i profili Maven, l'ambito di dipendenza di Maven e l'automazione della distribuzione di Maven dovrebbero essere comprensibili ora. Inoltre, abbiamo discusso la maggior parte degli ambiti delle dipendenze qui.
Per il processo di distribuzione di Maven, abbiamo esplorato tutti i passaggi in modo approfondito e spiegato alcuni dei plug-in di rilascio di Maven. Leggi gli argomenti e gradualmente capirai la vera essenza dell'utilizzo di Maven nel nostro lavoro.
Continueremo con la serie e raccoglieremo conoscenze sull'integrazione di Maven Jenkins, sulle domande dell'intervista a Maven, ecc. Nei nostri prossimi tutorial.
=> Controlla TUTTI i tutorial di Maven qui.
Lettura consigliata
- Cos'è Maven - Tutorial Maven per principianti
- Tutorial approfonditi su Eclipse per principianti
- Tutorial TestNG: Introduzione a TestNG Framework
- Tutorial Eclipse: integrazione di TestNG nell'IDE Java di Eclipse
- Configurazione di Maven con Eclipse Java IDE
- Plugin Gradle Vs Maven e Maven
- Documentazione di Maven con Jenkins e Maven per i progetti
- Integrazione di Maven con TestNg utilizzando il plugin Maven Surefire